i don't know
去追啊
这个作者很懒,什么都没留下…
展开
-
638. Shopping Offers
为什么会堆栈溢出啊,哭唧唧,没找到问题== class Solution { public int shoppingOffers(List<Integer> price, List<List<Integer>> special, List<Integer> needs) { return helper( price , ...原创 2018-09-16 08:08:15 · 103 阅读 · 0 评论 -
7. Reverse Integer
java版直观解法: class Solution { public int reverse(int x) { int rev = 0; while (x != 0) { int pop = x % 10; x /= 10; if (rev > Integer.MAX_VAL...原创 2019-07-23 23:00:17 · 80 阅读 · 0 评论 -
124. Binary Tree Maximum Path Sum
max_gain(特定节点)=节点.val + 子树中较大的值(一个子树),表示包含该节点在内的最大值 但是整棵树的最大值可能并不包括根结点在内,所以需要检查是继续当前路径还是更改新路径,新路径需要检查node.val + left + right来决定是否更新 # Definition for a binary tree node. # class TreeNode(object): # ...原创 2019-07-21 19:58:07 · 72 阅读 · 0 评论 -
33. Search in Rotated Sorted Array
先判断target在不在数组中,如果在哪一段也就是确定下标区间之后,就用二分查找,这个是最直白的想法,搂了眼题解应该还有更简便的解法,一次循环既可以找到分割点又可以找到目标值 class Solution(object): def search(self, nums, target): """ :type nums: List[int] ...原创 2019-07-21 21:21:47 · 76 阅读 · 0 评论 -
4. Median of Two Sorted Arrays
根据题解里面的一个思路写的,啊 感觉 困难 等级的题,好难做==,代码也好难写 有许多需要注意的点:最精妙的就是 利用二分法 找两数组的中间位置: m1 = left + (right - left) // 2 m2 = k - m1 if nums1[m1] < nums2[m2 - 1]: ...原创 2019-07-22 10:48:28 · 82 阅读 · 0 评论 -
4. Longest Common Prefix
找出一组字符串的最长公共前缀 解法一:水平扫描 从前往后枚举字符串的每一列,先比较每个字符串相同列的字符(即不同字符串相同下标的字符)然后再进行对下一列的比较。 class Solution(object): def longestCommonPrefix(self, strs): """ :type strs: List[str] ...原创 2019-07-23 11:46:30 · 82 阅读 · 0 评论 -
8. String to Integer (atoi)
题解中的最高赞答案: re.findall() 正则表达式用法 星号 * :解包作用 lstrip 方法: 自己根据题解的实现: ( python2 也是可以实现的 ) class Solution(object): def myAtoi(self, str): """ :type str: str :rtype:...原创 2019-10-07 23:36:46 · 85 阅读 · 0 评论 -
149. Max Points on a Line
题解里的高赞答案:可以运行通过 from collections import * class Solution: def maxPoints(self, points: List[List[int]]) -> int: def calc(points, i): # defaultdict是collections里的一个类,就是带有默认值...原创 2019-10-08 18:01:22 · 110 阅读 · 0 评论 -
421. Maximum XOR of Two Numbers in an Array
https://leetcode-cn.com/problems/maximum-xor-of-two-numbers-in-an-array/solution/li-yong-yi-huo-yun-suan-de-xing-zhi-tan-xin-suan-f/ 两个数相同位置上1、0不同的位数越多,且越靠近高位,最后的结果越大 1. 异或运算就是二进制下不应用进位的加法 2. 如果...原创 2019-10-09 15:16:36 · 109 阅读 · 0 评论 -
88. 合并两个有序数组
官方题解三种思路 思路一:将两数组作为一个数组进行排序 nums1[:] = sorted(nums1[:m] + nums2) 思路二:双指针从前往后,需要额外的空间 思路三:从后往前,最后不要忘了将nums2剩余的元素copy过去 class Solution(object): def merge(self, nums1, m, nums2, n): ...原创 2019-06-11 17:05:57 · 103 阅读 · 0 评论 -
26. 删除排序数组中的重复项
快慢指针 class Solution(object): def removeDuplicates(self, nums): """ :type nums: List[int] :rtype: int """ l = len(nums) i = 0 for j in rang...原创 2019-06-11 16:45:28 · 88 阅读 · 0 评论 -
508. Most Frequent Subtree Sum
不大明白咋写诺。。。后序遍历 /** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */ class S...原创 2018-09-28 21:57:16 · 173 阅读 · 0 评论 -
258. Add Digits
同余公式 dr( n ) = 1 + ( n - 1 ) % 9 digit root class Solution { public int addDigits(int num) { return 1 + ( num - 1 ) % 9 ; } }原创 2018-09-28 22:11:34 · 76 阅读 · 0 评论 -
748. Shortest Completing Word
很巧妙啊,,用素数乘积能否被整除来表征是否可以将字符全部包含 class Solution { private static final int[] prime = { 2 , 3 , 5 , 7 , 11 , 13 , 17 , 19 , 23 , 29 , 31 , 37 , 41 , 43 , 47 , 53 , 59 , 61 , 67 , 71 , 73 , 79 , 83...原创 2018-09-28 22:49:37 · 98 阅读 · 0 评论 -
283. Move Zeroes
也是很巧妙的想法了 class Solution { public void moveZeroes(int[] nums) { int pos = 0; for( int i : nums ){ if( i != 0 )nums[ pos ++ ] = i; } while( pos < n...原创 2018-09-28 23:01:52 · 98 阅读 · 0 评论 -
858. Mirror Reflection
图摘自题目的discussion高赞答案,第二张图是解释 class Solution { public int mirrorReflection(int p, int q) { while( p % 2 == 0 && q % 2 == 0 ){ p /= 2; q /= 2; ...原创 2019-03-30 09:50:30 · 125 阅读 · 0 评论 -
89. Gray Code
class Solution { public List<Integer> grayCode(int n) { List<Integer> res = new ArrayList<>(); for( int i = 0 ; i < 1 << n ; i ++ ) res.add(...原创 2019-05-19 18:05:36 · 113 阅读 · 0 评论 -
160. 相交链表
在评论区看到的很优雅的解法:定义两个指针分别移动,当其中一个指针如pa移动到链表末尾时指向另一链表的头部headB ,再继续移动,当指针pb移动到末尾时使其指向headB,经过这样的操作,就消除了长度差,两指针当前位置与相交节点之间的距离相同 果然优雅的解法不仅需要计算机技能,还需要数学知识==,以及智商== # Definition for singly-linked list. # cl...原创 2019-06-16 09:54:22 · 88 阅读 · 0 评论 -
53. 最大子序和
核心思路就是看当前最大和大于0还是小于0,如果大于0就并入最大子序列和的候选集,否则就以当前的元素为新序列 思路一:动态规划dp nums[i-1]记录当前最大和,若其大于0就可以组成最大序列的候选项,若小于0则nums[i]为新序列 class Solution(object): def maxSubArray(self, nums): """ :...原创 2019-06-11 16:22:39 · 104 阅读 · 0 评论 -
1023. Camelcase Matching
要达到题目的要求: query 中的 word 能否通过对 pattern 添加小写字母得到。 分为两个步骤去判断是否成立: 1. word 中 应包含这个 pattern 子串 2. 如果只能通过添加小写字母得到,那么 word 和 pattern 中的大写字母应该一样 题解中的: class Solution: def camelMatch(self, queri...原创 2019-10-10 09:33:16 · 119 阅读 · 0 评论