Leetcode List

Onsite talk

1.了解自己的项目细节

Question:

1.思考BST level order traverse 什么时候不用记录size?

  1. HashTable 有啥用来着?

Note :

String[] array = new String[] {"lint", "intl","code"};
arraylist.set(index , Element);
Str.startsWith(string) 【Return true/false】

list.indexof(返回的是index啊
!!!)
list.get()返回的才是值啊!!

时刻谨记:substring的用法!
str.substring(start, length)
Chars beginning at start
Up to but not including end

神句!
map.put( c , map.getOrDefault(c , 0) + 1);

  //遍历

Map<Integer, Integer> map = new HashMap<Integer, Integer>();

//遍历map中的键

for (Integer key : map.keySet()) {

System.out.println("Key = " + key);  

}

//遍历map中的值

for (Integer value : map.values()) {

System.out.println("Value = " + value);  

}

    int i = Arrays.binarySearch(dp, 0, len, x);
      returns the index if contains. else return:
    【it returns (-(insertion point) - 1) 】

int count = Character.getNumericValue(char c); =========》char
Integer.parseInt() ========》String

    private Queue<Long> small = new PriorityQueue();
  默认出的是最小的,有null的时候感觉会出null,因为system.out.print 会报错

PriorityQueue(int initialCapacity, Comparator<? super E> comparator)
Character.isLowerCase

    HashSet 真是个好东西,只记录有无这个值,不管重复多少次。   
    ArrayList: .size()
    String : .length()
    int[]num: .length
    hashTable.length;

    Integer.MAX_VALUE;
    Integer.MIN_VALUE;
    Arrays.sort(num);
    Arrays.fill( num, i);
    Collections.reverse(result);

    HashSet<Node> set = new HashSet<>();  set.size(); set.add(); set.contains();

    HashMap<node,node> map = new HashMap<>(); map.put(); map.containsKey();
    map.keySet(); 返回一套key!!~

    HashTABLE :  ListNode[] hashtable = new ListNode[newCapacity];

    char[] array= str.toCharArray();

    Queue<Integer> q = new LinkedList<Integer>();
    Stack<Integer> s = new Stack<>();
    s.pop();
    s.push(1);
    s.peek();

    q.add(1);
    q.offer(1);
    q.poll();
    q.peek();

位运算操作:

  A&B : 都是1则为1,否则为0 ========> 可以得到A和B中所有该进位的地方(都是1才进位)
  进位: A&B << 1
  << :移位运算符,所有的二进制像左移一个,末尾舔0.(相当于十进制乘以了2) 

  byte的取值范围为-128~127,占用1个字节(-2的7次方到2的7次方-1)
  short的取值范围为-32768~32767,占用2个字节(-2的15次方到2的15次方-1)
  int的取值范围为(-2147483648~[2147483647](https://www.baidu.com/s?wd=2147483647&tn=44039180_cpr&fenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1YvPjR4mWuWnHnvPjuhPHbk0ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6KdThsqpZwYTjCEQLGCpyw9Uz4Bmy-bIi4WUvYETgN-TLwGUv3ErHb4PHDznWT)),占用4个字节(-2的31次方到2的31次方-1)
  long的取值范围为(-9223372036854774808~9223372036854774807),占用8个字节(-2的63次方到2的63次方-1)

Easy

1.Sort Integers
2.Binary Tree Maximum node
3.Fibonacci
4.Rectangle Area
5.Remove LinkedList Element
6.A+B problem
7.Guess Number Game
8.Intersection of Two Arrays
9.Intersection of Two Arrays II

Chapter 1 Sort

Jun 19
1.Median (Quick sort)
July 3
2.StrStr(自己的方法。有时间再复习答案的方法)

Chapter 2 Binary Search

1.First Position of Target
3.Search Insert Position (注意end+1的情况)
4.Search a 2D Matrix
5.Find Peak Element(以mid为最低点看两边+1的趋势即可。但是要考虑else的情况,随便分配给start或者end 都可以。不分配的话死循环了。)
6.First Bad Version
July 16
1.Search in Rotated Sorted Array
2.Search in Rotated Sorted Array II
3.Find Minimum in Rotated Sorted Array(一定是nums[mid] > nums[end]
而不是nums[mid] >= nums[start]
)
4.Find Minimum in Rotated Sorted Array II
5.Search for a Range
6.Binary Search Tree Iterator(用stack)
7.Insert Node in a Binary Search Tree
8.Remove Node in Binary Search Tree
9.Search Range in Binary Search Tree
10.Convert BST to Greater Tree

Chapter 3 Binary Search Tree

Binary Search Tree 的定义: 左< 中 < 右

25.Binary Tree Inorder Traversal
26.Binary Tree Postorder Traversal
27.Binary Tree preorder Traversal
28.Binary Tree level order Traversal
29.Binary Tree Level Order Traversal II
30.Binary Tree Paths(String的相加:直接用加号相加)
31.Binary Tree Path Sum(1.考虑负数情况 2.题目说了要到达leaf)
Jun 19
5.Count of Smaller Number (Segement Tree 的解法???!)
6.Segment Tree Build( Segment Tree
7.Segment Tree Modify
Jun 20
1.Segment Tree Query
2.Segment Tree Query II
Jun 23
1.Maximum Depth of Binary Tree
2.Minimum Depth of Binary Tree (Path 一定是要到达leaf的)
3.Validate Binary Search Tree
4.Lowest Common Ancestor
5.Binary Tree Zigzag Level Order Traversal

July 11
6.Balanced Binary Tree

Chapter 4 D&Q

July 6
1.Triangle : (自上而下遍历的时候呢,注意第一条不能算进去,而且,最后一条也不能算呀)
O(n) 的方法:自下而上,res[0][0] = res[0][0+1]+ res[0+1][0+1] +triangle[0][0]。。。递归每次只保留最小值
2.Minimum Path Sum

July7
3.Climbing Stairs
4.Unique Paths
5.Unique Paths II

July10
1.Binary Tree Maximum Path Sum (简洁优雅的leetcode)
2.Jump Game
3.Jump Game II
4.Longest Increasing Subsequence( Arrays.BinarySearch() )
5.Longest Common Subsequence (用二维数组来做,你敢信吗 或许有图的概念在里面?)
6.Longest Common Substring(思考这一题dp的推导公式
7.valid Palindrome
8.Palindrome Partitioning

July11
1.Palindrome Partitioning II (又用了二维格子,interesting )
2.word break(注意i和j ,不要用最简单的从前往后,而是从j到i)

July14
3.Distinct Subsequences(用二维格子)
4.Edit Distance(用二维格子)
5.Interleaving String ((用二维格子,这是目前最难的

Chapter 7 Graph

Graph 掌握重点:

  1. clone graph
  2. Topological Sorting
  3. Search:
    A. DFS : 递归,(二叉树,D&Q : DP问题是试图把2^n或者n!===> n^2, n^3)
    O(2^n),O(n!)
    find all possible solutions : Permutations / subsets
    B. BFS:level order (while)
    O(n)====> Binary Search Tree, O(m) ====>Graph
    //n 是点,m 是边
    graph traversal
    find shortest path in a simple graph

6.clone Graph
7.classical binary search
8.Topological Sorting
9.Permutations
10.subsets
11.N-Queens
12.Valid Palindrome
13.Palindrome Partitioning
14.Combinations
15.Combination Sum
16.word ladder
17.word Ladder2

Chapter 8 Data Structure

1. Stack

18.Minstack
19.Implement Queue by two Stacks
20.Largest Rectangle in Histogram
21.max Tree (!)

2. Hash

Operations:
Insert/ Delete/ Search : O(1)

Collision :
Open Hashing(LinkedList)
Closed Hashing(Array)

因此为了避免collision,要尽量离散

Java differences of :
HashTable / HashSet / HashMap
HashTable is thread Safe

22.rehashing
23.Longest Consecutive Sequence (不用考虑array是否sort,在hashset里找到一个删去一个就好了。hashset 的意义本身就是记录是否contain的)
Jun.7
24.LRU Cache (#DataStructure: LInkedHashMAp

Chapter 9 High Frequence

33.Single Number (异或运算 ^ : 不进位的二进制加法)
34.Single Number 2
35.Single Number 3
40.Majority Number
Jun.19
2.Majority Number 2
3.Majority Number 3
Jun.30
1.Data Stream Median (Heap : log(n) )
2.Best Time to Buy and Sell Stock
3.Maximum Subarray
4.Minimum Subarray
5.Maximum Subarray 2
6.Best Time to Buy and Sell Stock 2
7.Best Time to Buy and Sell Stock 3
8.Two sum( Return index 基本上只能用hash表 )
(** 返回数值的话,是Two pointer问题** )
9.Maximum Subarray Difference(只通过了百分之64,要参考求min时的做法)10.3_SUM(Two Pointer)(未跑通)
July.1
1.4_SUM(未做)
2.3-SUM closet (未做)
July.3
1.Partition Array (背诵)
2.Sort Letters by Case
3.sort color 1
4.sort color 2
5.Interleaving positive and negative
6.Sqrt(二分法。变量是long)
7.Fast Power (二分法。不是很明白这个数学运算,背诵

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,723评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,485评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,998评论 0 344
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,323评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,355评论 5 374
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,079评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,389评论 3 400
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,019评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,519评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,971评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,100评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,738评论 4 324
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,293评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,289评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,517评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,547评论 2 354
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,834评论 2 345

推荐阅读更多精彩内容

  • 背景 一年多以前我在知乎上答了有关LeetCode的问题, 分享了一些自己做题目的经验。 张土汪:刷leetcod...
    土汪阅读 12,724评论 0 33
  • LeetCode 刷题随手记 - 第一部分 前 256 题(非会员),仅算法题,的吐槽 https://leetc...
    蕾娜漢默阅读 17,692评论 2 36
  • 我小时候很喜欢看童话,各种王子与公主的美丽童话。 童话里的王子一定英武不凡,相貌英俊,只爱公主一人,而公主则一定美...
    你家二爷药不能停阅读 266评论 0 0
  • 文/Miss阿喂 一五年四月的尾巴,老王说,又给你招了个平面。此时,在这个阵仗不小,我们的阵营却很小的地方,加上你...
    Miss阿喂阅读 334评论 0 0
  • Reactor线程模型 Reactor单线程模型所有的I/O操作都由同一个NIO线程完成。只适合小容量应用场景。不...
    码农也越野阅读 204评论 0 0