Skip to content

Latest commit

 

History

History
 
 

学习笔记:

一:方法总结

  学而不思则罔,思而不码则殆。

1:有思路,直接码;没有参考直接参考题解、国际版most votes

2:不能死磕,不要死磕。

3:可以一个解题方法,比如双指针,可以通过大量练习题掌握,循序渐进。

4:五毒神掌,多次练习,思考。

二:解题思路

1:two-sum

method:循环遍历,利用hashMap,记录元素为key,index为value,通过差值判断是否存在值,存在则返回。

complexity:time o(n),space o(n)

26:remove-duplicates-from-sorted-array

method:因为是sorted array,故数组重复,肯定相邻。使用双指针,i,j。i快指针遍历,从1开始,j慢指针比较,不相等则更新,同时j++.

complexity:time o(n) space o(1)

66:plus-one

method: 从右往左,数组末尾开始遍历,小于9,加一,return 循环,否则0,继续循环。最后判断数组首位是否为0,特殊情况9999。

complexity:time o(n) space o(1)

189:rotate-array

method:分析得出,旋转数组顺序为数组末尾从右向左,一次插入数组首位。直接使用js pop:删除数组末尾元素,onshift:数组的开头添加元素

complexity:time o(n) space o(1)

283:move-zeroes

method:双指针:两次遍历:1:i快指针遍历,j记录非零。2:j之后赋值0

complexity: time o(n) space o(1)