3 大象大象你的鼻子怎么那么长

尚未进行身份认证

我要认证

学海无涯乐作舟,直挂云帆济沧海

等级
TA的排名 2w+

LeetCode—每日一题:求根到叶子节点数字之和(递归)

求根到叶子节点数字之和(中等)2020年10月29日题目来源:力扣解题通过递归,记录获得根到当前节点的取值,当某个节点的左右子节点为空则代表为叶子节点,那么加入到结果值中。/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x;

2020-10-29 13:40:48

LeetCode—每日一题:独一无二的出现次数(map+set)

独一无二的出现次数(简单)2020年10月28日题目来源:力扣解题自然的,会想统计数组中每个数字出现的次数,这里我使用了HashMap,HashMap中的getOrDefault方法真香。拿出数字出现次数后,可以用一个HashSet来存,如果没有重复的,那么set和map的大小相同,如果重复,那么set会比map小。class Solution { public boolean uniqueOccurrences(int[] arr) { //计算每个数的出现次数

2020-10-28 11:42:11

LeetCode—每日一题:数组中的最长山脉(遍历)

数组中的最长山脉(中等)2020年10月25日题目来源:力扣解题找到最近的第一个左山脚,上山下山后找到右山脚,不断更新最长山脉值class Solution { public int longestMountain(int[] A) { int len=A.length; int res=0; int left=0; while(left+2<len){ //右山脚初始化

2020-10-25 22:36:36

2020秋招自我总结

诗悦网络岗位:服务端开发工程师hr一面1.自我介绍2.在校成绩3.学习方法4.对客户端的有了解吗(这里说多了客户端的东西,没搞清楚自己的定位)5.有什么要提问的?

2020-10-24 22:44:31

LeetCode—每日一题:视频拼接(动态规划)

视频拼接(中等)题目来源:力扣2020年10月24日解题class Solution { public int videoStitching(int[][] clips, int T) { //开辟一个跟T一样大的dp数组 int[] dp=new int[T+1]; //填充dp数组 Arrays.fill(dp,Integer.MAX_VALUE-1); dp[0]=0; //从i等于1开

2020-10-24 17:25:47

Java线程池

什么是线程?线程是指进程中的一个执行流程,一个进程可以运行多个线程。比如java.exe进程可以运行很多线程。线程总是输入某个进程,进程中的多个线程共享进程的内存。线程的创建/获取方式1.继承Thread类2.实现Runnable接口3.实现Callable接口4.线程池获取实现Callable接口和实现Runnable接口有什么不同?相同点:两者都是接口;两者都可用来编写多线程程序;两者都需要调用Thread.start()启动线程;不同点:两者最大的不同点是:实现Callabl

2020-10-16 11:24:57

LeetCode—面试题:栈排序(辅助栈)

栈排序(中等)2020年10月14日题目来源:力扣解题辅助栈来存放主栈比push的值大的元素class SortedStack { private Stack<Integer> st1; private Stack<Integer> st2; public SortedStack() { st1=new Stack<>(); st2=new Stack<>(); }

2020-10-15 00:04:12

LeetCode—面试题:三合一(数组)

三合一(简单)2020年10月14日题目来源:力扣解题题目意思是这样的,用一个数组来存放三个栈的内容,以stackNum来代表是哪个栈,stackSize就是每个栈的大小,这也决定了我们这个数组的大小为stackSize*3class TripleInOne { private int[] arr; //装栈数据的数组 private int stackSize; //栈的容量 private int[] stackTop; //三个栈的栈顶指针 pu

2020-10-14 15:57:16

LeetCode—面试题:环路检测(快慢指针)

环路检测(中等)2020年10月14日题目来源:力扣解题链表判断有环容易想到用快慢指针,但这道题需要判断环的入口首先用快慢指针判断是否有环,如果有环,那么把慢指针指向头节点,与快指针同时移动,找第一个相同的节点,那就是环入口节点数学推导如下:来自题解/** * Definition for singly-linked list. * class ListNode { * int val; * ListNode next; * ListNode(int x)

2020-10-14 15:53:00

LeetCode—面试题:回文链表(反转链表+比较)

回文链表(简单)2020年10月8日题目来源:力扣解题如果是回文,那么前半部分链表反转后的链表应该与后半部分的链表完全一致反转链表+比较反转链表方法可看这里,首先算出链表长度,然后取一半进行反转,反转后需要判断长度的奇偶,奇数则省略中间一个数,偶数照常计算,前后两链表遍历对比,不同则返回false/** * Definition for singly-linked list. * public class ListNode { * int val; * ListN

2020-10-08 23:38:02

LeetCode—面试题:分割链表(头插法)

分割链表(中等)2020年10月1日题目来源:力扣解题头插法遍历找到比x小的节点,然后用后面的节点覆盖此节点,把该节点插到最前面/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */class Solution { public Lis

2020-10-01 10:44:47

浅谈CAS底层原理和ABA问题

文章目录概述CAS底层原理CAS缺点ABA问题解决ABA问题AtomicStampedReference总结概述CAS的全称是Compare-And-Swap,它是CPU并发原语它的功能是判断内存某个位置的值是否为预期值,如果是则更改为新的值,这个过程是原子的CAS并发原语体现在Java语言中就是sun.misc.Unsafe类的各个方法。调用UnSafe类中的CAS方法,JVM会帮我们实现出CAS汇编指令,这是一种完全依赖于硬件的功能,通过它实现了原子操作,再次强调,由于CAS是一种系统原语,原语

2020-09-30 23:12:25

浅谈Volatile三大特性

文章目录JMMJMM是什么特性Volatile可见性原子性禁止指令重排Volatile针对指令重排做了什么?JMMJMM是什么JMM是Java内存模型,也就是Java Memory Model,简称JMM,本身是一种抽象的概念,实际上并不存在,它描述的是一组规则或规范,通过这组规范定义了程序中各个变量(包括实例字段,静态字段和构成数组对象的元素)的访问方式JMM关于同步的规定:线程解锁前,必须把共享变量的值刷新回主内存线程解锁前,必须读取主内存的最新值,到自己的工作内存加锁和解锁是同一把锁

2020-09-30 22:29:31

JVM之垃圾回收(1-概述+算法)

文章目录1.概述什么是垃圾大厂面试题为什么需要GC早期垃圾回收Java垃圾回收机制2. 垃圾回收相关算法2.1 标记阶段:法1_引用计数法 (java没有采用)2.2 标记阶段:法2_可达性分析算法2.3 对象的finalization机制2.4 清除阶段:法1_标记-清除算法2.5 清除阶段:法2_复制算法2.6 清除阶段:法3_标记-压缩(整理,Mark-Compact)算法2.7 小结2.8 分代收集算法2.9 增量收集算法、分区算法1.概述什么是垃圾Java = (C++)–什么是垃圾(

2020-09-29 23:57:16

LeetCode—面试题:移除重复节点(哈希集合)

移除重复节点(简单)2020年9月29日题目来源:力扣解题哈希集合记录非重复节点/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */class Solution { public ListNode removeDuplicateNod

2020-09-29 09:24:48

JVM之字符串常量池StringTable

文章目录1.String的基本特性2.String的内存分配3.String的基本操作4.字符串拼接操作5.intern()的使用new String("ab")会创建几个对象,new String("a")+new String("b")呢关于String.intern()的面试题总结String的intern()的使用6.StrtingTable的垃圾回收7.G1中的String去重操作1.String的基本特性String:字符串,使用一对""引起来表示。String sl = “hell

2020-09-27 17:30:04

JVM之执行引擎

文章目录执行引擎概述Java代码编译和执行过程什么是解释器( Interpreter),什么是JIT编译器?为什么说Java是半编译半解释型语言?机器码、指令、汇编语言机器码指令指令集汇编语言高级语言字节码C、C++源程序执行过程解释器JIT编译器HotSpot VM 为何解释器与JIT编译器共存热点代码及探测方式方法调用计数器热度衰减回边计数器HotSpot VM 可以设置程序执行方式HotSpot VM 中的JIT分类C1和C2编译器不同的优化策略执行引擎概述执行引擎是Java虚拟机的核心组成部

2020-09-27 17:12:14

JVM之运行时数据区(对象的实例化内存布局与访问定位+直接内存)

1.对象的实例化1.1 创建对象的方式new最常见的方式变形1 : Xxx的静态方法变形2 : XxBuilder/XxoxFactory的静态方法Class的newInstance():反射的方式,只能调用空参的构造器,权限必须是publicConstructor的newInstance(Xxx):反射的方式,可以调用空参、带参的构造器,权限没有要求使用clone() :不调用任何构造器,当前类需要实现Cloneable接口,实现clone()使用反序列化:从文

2020-09-26 23:44:35

JVM之运行时数据区(方法区)

文章目录1. 堆、栈、方法区的交互关系2. 方法区的理解3.设置方法区大小与OOM方法区OOM4.方法区的内部结构类型信息域信息(成员变量)方法信息non-final的类变量运行时常量池5.方法区的使用举例6.方法区的演进细节永久代为什么要被元空间替换StringTable 为什么要调整如何证明静态变量存在哪7.方法区的垃圾回收8. 总结面试题:1. 堆、栈、方法区的交互关系运行时数据区结构图堆、栈、方法区的交互关系2. 方法区的理解《Java虚拟机规范》中明确说明:‘尽管所有的方法区在逻辑上

2020-09-26 22:49:43

LeetCode—面试题:字符串轮转(暴力+拼接)

字符串轮转(简单)2020年9月26日题目来源:力扣解题暴力模拟轮转,对了就返回true,速度太慢了class Solution { public boolean isFlipedString(String s1, String s2) { if(s1.length()!=s2.length()) return false; if(s1.length()==0 && s2.length()==0) return true;

2020-09-26 11:24:03

查看更多

勋章 我的勋章
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 签到王者
    签到王者
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 新人勋章
    新人勋章
    用户发布第一条blink获赞超过3个即可获得
  • 阅读者勋章Lv3
    阅读者勋章Lv3
    授予在CSDN APP累计阅读博文达到30天的你,是你的坚持与努力,使你超越了昨天的自己。
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 1024勋章
    1024勋章
    #1024程序员节#活动勋章,当日发布原创博客即可获得
  • 勤写标兵Lv4
    勤写标兵Lv4
    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 学习力
    学习力
    《原力计划【第二季】》第一期主题勋章 ,第一期活动已经结束啦,小伙伴们可以去参加第二期打卡挑战活动获取更多勋章哦。
  • 原力新人
    原力新人
    在《原力计划【第二季】》打卡挑战活动中,成功参与本活动并发布一篇原创文章的博主,即可获得此勋章。
  • 原力探索 · S
    原力探索 · S
    在《原力计划【第二季】》打卡挑战活动中,发布 12 篇原创文章参与活动的博主,即可获得此勋章。(本次活动结束后统一统计发放)
  • 分享学徒
    分享学徒
    成功上传1个资源即可获取