美文网首页
2018-09-02

2018-09-02

作者: 大海一滴写字的地方 | 来源:发表于2018-09-02 21:52 被阅读0次

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)

相关文章

  • 2018-09-03

    2018-09-02 魏春香 2018-09-02 16:17 · 字数 456 · 阅读 1 · 日记本 姓名:...

  • 《羊皮卷大全集》摘抄

    2018-09-02 原文:生活本身就是一个不断推销自己的过程 想法: 2018-09-02 原文:若要很好地推销...

  • 杨绛 我们仨 笔记

    2018-09-02 原文:我大声呼喊,连名带姓地喊。 想法: 2018-09-02 原文:我转侧了半夜等锺书醒来...

  • 2018-09-02

    2018-09-02 万千工品金秀 2018-09-01 23:46 · 字数 816 · 阅读 2 · 日记本 ...

  • 2018-09-04

    2018-09-03 万千工品金秀 2018-09-02 21:28 · 字数 856 · 阅读 1 · 日记本 ...

  • 跟宇彤老师成为万人迷第十季打卡营第六天

    2018-09-02 很有趣的一段绕口令,反复听,反复练习,希望有突破,加油,爱自己

  • 《往后的生活,就该如此》

    巴渝墨客 2018-09-02 前言: 文字在于表达,故事在于倾述。 ☞表达的是情绪,真实而美好。...

  • 2019-06-27

    用PHP玩转进程之二 — 多进程PHPServer 2018-09-02 系统设计 语言 PHP 经过用 PHP ...

  • 懂你 L4-U1-3-

    流利说 D67 2018-09-02日 一、复习 Level4-Unit1-Part3*Learning- Voc...

  • 2018-12-07

    魏春香 2018-09-02 16:17 · 字数 456 · 阅读 1 · 日记本 姓名:魏春香 公司:龙江华鼎...

网友评论

      本文标题:2018-09-02

      本文链接:https://www.haomeiwen.com/subject/hakvwftx.html