- 博客(11)
- 收藏
- 关注
原创 Java hashCode详解
hashCode方法是用来获取散列码,定义在Object类中。如果所使用的类没有重写hashCode方法的话,那么调用hashCode方法将返回该对象的存储地址。String类使用下列算法计算散列码://Stringpublic int hashCode() { int h = hash; if (h == 0 && !hashIsZero) { h = isLatin1() ? StringLatin1.hashCode(val
2021-04-15 12:19:24
1138
原创 Arrays.sort()方法总结
Arrays.sort()的运用1.Arrays.sort(arr);2.Arrays.sort(arr,startIndex,endIndex);不包含endIndex这个索引值3.Arrays.sort(people, new Comparator<int[]>() { @Override public int compare(int[] person1, int[] person2){ if (pers
2021-03-21 21:58:01
310
转载 Mac 每次都要执行source ~/.bash_profile 后,配置的环境变量才生效
问题:在 ~/.bash_profile 中配置环境变量, 可是每次重启终端后配置的不生效.需要重新执行 : $source ~/.bash_profile后,才会生效。原因:自己是在bash中配置的环境变量,而当前系统是使用的是shell查看当前使用的shell:终端输入:echo $SHELL输出是/bin/zsh,说明使用的是zsh解决办法:在.zshrc文件加中添加source ~/.bash_profile,方法如下进入主目录 cd ~显示隐藏文件,找到.zshrc文件
2021-03-09 21:58:19
1091
原创 二叉树前中后序遍历迭代实现
二叉树遍历迭代实现迭代用栈实现:递归的原理就是栈,每次调用一个方法就会开辟一个栈帧,而每个栈帧的返回顺序也是按照后进先出的顺序。所以基于这个原理,任何递归能解决的问题都可以转换为迭代去实现。只需记住一点:栈是先进后出。前序是根-左-右,那么栈的入栈顺序是根(此时进行出栈操作并添加到结果)-右-左;中序是左-根-右,那么栈的入栈顺序是跟-左(一直到左子结点为空时进行出栈操作并添加到结果)-右(在返回到根);后序是左-右-根,那么栈的入栈顺序是根-右-左。首先给出二叉树的结点定义public cl
2020-09-30 02:28:17
252
原创 JDK12版本的ArrayList的扩容源码详解
private void add(E e, Object[] elementData, int s) { if (s == elementData.length) elementData = grow(); elementData[s] = e; size = s + 1; } public boolean add(E e) { modCount++; add(e, elemen...
2020-09-25 13:49:40
64
原创 2020-09-18
String s="How are you"; String[] str=s.split(""); int[] nums={1,2,3,4}; System.out.println(Arrays.toString(nums));//[1, 2, 3, 4] System.out.println(Arrays.toString(str));//[H, o, w, , a, r, e, , y, o, u]String s="How are
2020-09-18 14:49:06
51
原创 Java输入总结
Java输入总结笔试常用输入Scanner常见的坑,使用nextLine之前一定要注意内存中是否有换行符如何解决while(hasNext())一直循环笔试常见输入Scanner sc=new Scanner(System.in);常用的几个方法:sc.next();//sc.nextInt();//sc.nextLine();//**next()????*只读取输入直到空格。它不能读两个由空格或符号隔开的单词。此外,next()在读取输入后将光标放在同一行中。(next()只读空格
2020-09-18 14:29:50
116
原创 BFS算法解题框架
BFS算法解题框架核心数据结构:队列Queue<T> q=new LinkedList<T>();常用框架:public int bfs(起始点){ int res=0;//返回值,根据返回类型定义 Queue<T> q=new LinkedList<T>(); q.offer(起始点); while(!q.isEmpty()){ int sz=q.size(); for(int i=0;i<sz;i++){
2020-09-14 21:19:37
78
原创 回溯算法常用框架
回溯算法总结模板:result[];public void backtrack(路径,选择表){ if(满足结束条件){ result.add(路径); return; } for(选择:选择表){ 做选择; backtrack(路径,选择表); 撤销选择; }}力扣56 全排列class Solution { private List<List<Integer>>res=new ArrayList<>();//结果声明为
2020-09-14 20:47:00
93
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人