
总结
Yingying_code
这个作者很懒,什么都没留下…
展开
-
Two pointers
167. Two Sum II - Input array is sorted:序列已经被排序,找出来两个数的和为target。左右两个指针,依次移动查找。88. Merge Sorted Array:合并两个已排序数组。要求不使用extra space。从后往前。349. Intersection of Two Arrays:求两个数组交集。使用hashset很方便。或者对两原创 2017-02-07 15:21:04 · 369 阅读 · 0 评论 -
Linked list
141. Linked List Cycle: 判断linked list中间是否包含一个环。改变原来的链表。设置标志位,即head,如果next找到head,就含cycle。237. Delete Node in a Linked List:删除linkedlist中某个元素。注意引用传递和参数传递的区别。237. Delete Node in a Linked List:删除重原创 2017-02-06 23:19:46 · 287 阅读 · 0 评论 -
Dynamic programming 4
377. Combination Sum IV:给定一个序列,求组成某个和的种类数。494. Target Sum:一个序列,在每个元素前面加正负号,若结果为target有效。求有效种类数。分类讨论,当前为正还是负。技巧:剩余的数和小于某target,该组合无效返回。62. Unique Paths:二维矩阵,求path条数。和之前304. Range Sum Query 2D 相原创 2017-02-03 16:20:36 · 326 阅读 · 0 评论 -
Dynamic programming 3
198. House Robber: 对于某个房间是否进行rob,考虑上个房间被rob此房间不被rob,上个房间不被rob此房间被rob的最大值。原创 2017-02-01 23:06:17 · 262 阅读 · 0 评论 -
Dynamic Programming 2
53. Maximum Subarray: 求最大和子序列:maxendinghere,maximum152. Maximum Product Subarray:求最大积子序列:maxendinghere分为max和min,有正负121. Best Time to Buy and Sell Stock:给出股票价格,只售卖一次,计算最大利润。求序列中两个数的最大差值,求当前价格和最原创 2017-02-01 13:42:32 · 226 阅读 · 0 评论 -
Dynamic programming 1
303. Range Sum Query - Immutable304. Range Sum Query 2D - Immutable307. Range Sum Query - Mutable总结:求某个区域内的和,先求部分和,再求差。如果原来的数组中元素频繁变化,采用binary indexed tree减少变动。动态规划在这里的子问题是:求部分和,再用减法。原创 2017-02-01 12:37:52 · 288 阅读 · 0 评论 -
待总结 机器学习
贝叶斯判决决策树和随机森林逻辑斯蒂回归支持向量机adaboost神经网络原创 2017-02-11 13:57:41 · 222 阅读 · 0 评论 -
Divide and conquer 总结
53. Maximum Subarray:最大和子数组169. Majority Element:求众数。241. Different Ways to Add Parentheses:一个运算表达式,加括号的不同方式。215. Kth Largest Element in an Array:第k大的元素。240. Search a 2D Matrix II:原创 2017-02-11 12:01:46 · 416 阅读 · 0 评论 -
待总结
dynamic programminglinked listtwo pointersstringdivide and conquerbinary searchstackheap queuetreebfs/dfssort bit manipulation原创 2017-01-31 13:26:21 · 230 阅读 · 0 评论 -
Heap 总结
451. Sort Characters By Frequency:根据单词中字母的出现频率排序。347. Top K Frequent Elements:找到数组中出现频率前K高的元素。同451题。373. Find K Pairs with Smallest Sums**:找到两个数组中任意元素组合形成的前k个最大和对。215. Kth Largest Elemen原创 2017-02-10 23:24:52 · 312 阅读 · 0 评论 -
Stack 总结
225. Implement Stack using Queues:用队列实现栈。232. Implement Queue using Stacks:用栈实现队列。20. Valid Parentheses:看是否为有效的括号。原创 2017-02-10 19:56:15 · 275 阅读 · 0 评论 -
String
67. Add Binary:两个二进制表示的字符串相加。结果仍然是二进制字符串形式。完美。383. Ransom Note:判断一个字符串是不是另外一个字符串的子串,可以不相邻。用hashmap做很方便。完美。345. Reverse Vowels of a String:字符串中元音反转,用two pointers做很方便。344. Reverse String:反原创 2017-02-08 10:21:40 · 233 阅读 · 0 评论 -
Binary Search
367. Valid Perfect Square:判断某个数是否为完全平方数,不准使用sqrt等内置函数。Binary search 用来缩小范围。441. Arranging Coins:把硬币摆成楼梯的形状,求解最多完成的完整楼梯层数。和367完全一样。167. Two Sum II - Input array is sorted:在排序后的数组中查找两个数,和为目标target原创 2017-02-07 16:46:14 · 320 阅读 · 0 评论 -
Hash table
205. Isomorphic Strings:一个字符串中更换某些字符进行映射为另外一个字符串。利用hashmap保存一一映射关系。注意有时候映射可以利用数组实现。1. Two Sum:找到序列中和为固定值的两个元素坐标。利用hashmap很方便。217. Contains Duplicate:找到list中是否包含两个相同的元素。直接利用hashmap查询即可。219.原创 2017-02-05 20:49:30 · 323 阅读 · 0 评论 -
Backtracking
401. Binary Watch: 小时、分钟二进制表示中1的个数。遍历,满足要求放在结果list中。原创 2017-02-05 19:48:05 · 264 阅读 · 0 评论 -
Tree
102. Binary Tree Level Order Traversal:二叉树层次遍历。从上到下。107. Binary Tree Level Order Traversal II:二叉树层次遍历,从下到上。改变结果list顺序即可。层次遍历:public List> levelOrder(TreeNode root) { Queue queue = new Li转载 2017-02-09 19:19:39 · 333 阅读 · 0 评论