2018-09-02

https://blog.csdn.net/playezio/article/details/80471267


牢记:

输入、输出、包。

Math.pow(double m, double n)

乘除2用移位;看奇偶用相与  【n&1==1是错误的,应该为(n&1)==1】

编号与mid:

n为数组编号:n>>1是偏

前的中点索引

n为个数编号:n>>1是偏后的中点索引


题型:

思想:

递归(根据根节点区分左右子树)

层序遍历(1.常规LinkedList;2.cur,next)

链表

题型:倒数第几个节点、重合节点、反转链表

重要思想:dummy,递归,环的数学计算

动态规划

去掉虚伪的外壳,寻找最真心的“表达式”。


各种排序

冒泡

归并

插入

快排

希尔排序

----------------------具体题目-------------------------

替换空格

主要是

从后网往前的思想;

StringBuffer的使用:

str.setLength(j+1);

str.setCharAt(j--,'0');

从尾到头打印链表

1#使用Stack

2#递归本质就是一种Stack,但是层数比较多时会容易爆内存。

重建二叉树

不可以:if(pre1==pre2 && in1==in2)            return new TreeNode(pre[pre1]);

可以:if(i1>i2 || j1>j2) return null;  

因为某些时候可能会出现这种情况,如,只有左子树而没有右子树。

旋转数组的最小数字

3个情况:

if(array[i]==array[j] && array[mid]==array[i])

 if(array[mid]>=array[i])

else if(array[mid]<=array[j])

变态跳台阶

以下两个语句效果相同。。

return (int)Math.pow(2,target-1);

return 1<<(target-1);

二进制中1的个数

【最优方法】将数字二进制的最后一个1变为0:n=n&(n-1)

若将数字n不停的右移与1相与,则可能会陷入死循环(负数不停的补1);则反过来让1不停左移,然后相与,则没问题。

数值的整数次方


注意基数是0时:if(equal(b,0.0) && e<0) return 0.0;

指数为0:

判断double是否为0:return ((n1-n2)<0.0000001 && (n1-n2)>-0.0000001)

计算连乘:

调整数组顺序使奇数位于偶数前面

若仅仅是要求奇数在前不要求保证顺序:i,j从两名行进

要求保证顺序:i,j同时从左边行进

【骚操作】:考虑可扩展性,对于C++则可以直接将函数指针传进去,而对于Java好像需要传入一个实现某接口的类的对象,

树的子结构


关键是第一句放在前面。如下


顺时针打印矩阵


下的条件:m-1-k>k

左的条件:n-1-k>k

和为S的连续正数序列

利用“连续”这个性质,简化问题。

左旋转字符串

str.substring(0,n)

注意n=n%len;

翻转单词顺序列

res.deleteCharAt(res.length()-1)


二叉搜索树的后序遍历序列

一般的递归思想

二叉树中和为某一值的路径

每一次添加路径则需要new一下path
new ArrayList(path)

new ArrayList<Integer>(path)

复杂链表的复制

三种方法:

1. 时间复杂度为n*n的传统方法

2. 使用map,空间换时间

3.原地复制双重链表

二叉搜索树与双向链表

中序遍历


字符串的排列

Collections.sort()

String.valueOf(array)

res.contains()

数组中出现次数超过一半的数字

【注意check 有效性】

1#先排序,在取中值

2#利用次数


最小的K个数

if (k==0||input==null|| input.length==0 || input.length<k) return res;

1#使用最大堆

2#使用快排的思想,寻找处于第k位的数字。(时间复杂度为n)

推荐阅读更多精彩内容

  • 一、晨读技巧和语言现象 读有不同层次的要求 1.说清楚(单词发清楚,句子说清楚); 2.说自然(语言流利,能遵守基...
    薄荷巧克力_阅读 97评论 0 0
  • 今天下楼,发现楼下停了2辆摩拜,虽然有点阻挡了楼道,但是还是挺开心的,可以骑过去地铁站,还挺方便的。准备掏出手机扫...
    吴文海阅读 40评论 0 0
  • 其实我是一名摄影小白。既不懂各种专业摄影术语手中也没有专业摄影器材。不过看到生活中富有韵味美好的画面总是不自觉得想...
    舍予的树洞阅读 231评论 0 1
  • 对一千万名高中生的调查显现了“我的更好”的思维。这个调查提出了人们是否认为自己在“一般水平以上”的问题。70%的调...
    梁梦婷阅读 16评论 0 0
  • 现在已经十点,我的简书还没写,写什么呢?拿着手机打开简书开动脑筋,各种素材,话题,画面纷拥而至。于是卡住了,因为太...
    杜鹃子阅读 41评论 0 2