上一页 1 ··· 5 6 7 8 9 10 下一页
摘要: 栈 思路: 由于括号一般是成对出现,可以利用栈后进先出的特征。将字符串字符按顺序压入栈中,压入过程中如果遇到右括号时,推出栈顶元素,判断当前要压入的右括号是否和栈顶元素是一对,如果是则继续下一字符的压入判断操作。如果不是,直接返回False。当压入过程结束后,如果栈内为空则返回True,否则返回Fa 阅读全文
posted @ 2020-05-02 13:11 nil_f 阅读(97) 评论(0) 推荐(0)
摘要: 两次遍历 思路: 先遍历一次得到数组长度length,第二次遍历找到位置在length-n的节点p,让p.next=p.next.next即可 代码: # Definition for singly-linked list. # class ListNode: # def __init__(self 阅读全文
posted @ 2020-05-01 09:29 nil_f 阅读(124) 评论(0) 推荐(0)
摘要: 双指针法 思路: 参考三数之和,在外面多嵌套一层 代码: class Solution: def fourSum(self, nums: List[int], target: int) -> List[List[int]]: if len(nums) < 4: return [] output = 阅读全文
posted @ 2020-04-30 12:12 nil_f 阅读(133) 评论(0) 推荐(0)
摘要: 回溯法 思路: 通过回溯的思维,递归调用枚举出所有可能。 class Solution: def letterCombinations(self, digits): phone = {'2': ['a', 'b', 'c'], '3': ['d', 'e', 'f'], '4': ['g', 'h' 阅读全文
posted @ 2020-04-29 12:07 nil_f 阅读(150) 评论(0) 推荐(0)
摘要: 1.暴力法 思路: 遍历枚举出每一种情况,找到最接近的。 代码: class Solution: def threeSumClosest(self, nums: List[int], target: int) -> int: minCom = abs(nums[0] + nums[1] + nums 阅读全文
posted @ 2020-04-28 11:09 nil_f 阅读(124) 评论(0) 推荐(0)
摘要: 双指针法 思路: 首先对原数组进行排序,然后从头开始遍历,当遇到nums[i]>0时终止。在遍历过程中,对遍历元素i后面剩余子数组首尾添加指针L和R,通过移动LR找到满足题设条件的[i,L,R]。这里要注意的是,为了避免重复的情况,在遍历过程中,如果遍历的元素nums[i]和它之前元素nums[i- 阅读全文
posted @ 2020-04-27 12:04 nil_f 阅读(149) 评论(0) 推荐(0)
摘要: 1.水平扫描法 思路: 若存在最长公共前缀,即数组中每个字符串均包含公共前缀。于是可以先找出一个公共前缀,然后按顺序比较,对找到的公共前缀进行删减处理,知道最后得到最长的公共前缀。 例如: ["ababcc","ababd","abad","ac"] ①ababcc和ababd比较,得到公共前缀为a 阅读全文
posted @ 2020-04-26 14:09 nil_f 阅读(205) 评论(0) 推荐(0)
摘要: 贪心算法 思路 所谓贪心算法就是我们在寻找整体最优解的情况下,先找到局部最优解。 例如: 12 可以多种组合表示 12 = 10 + 1 + 1 -> XII 12 = 9 + 1 + 1 + 1 -> IXIII 12 = 5 + 5 + 1 + 1 -> VVII 12 = 5 + 4 + 1 阅读全文
posted @ 2020-04-25 12:02 nil_f 阅读(245) 评论(0) 推荐(0)
摘要: 1.暴力法 思路: 找出每个子区间,计算出面积,找出最大值 代码: class Solution: def maxArea(self, height: List[int]) -> int: areamax = 0 for i in range(len(height)): for k in range 阅读全文
posted @ 2020-04-24 10:09 nil_f 阅读(144) 评论(0) 推荐(0)
摘要: 1.回溯法 思路: 首先考虑如果模式串中没有 * 号,那么我们只需要从左向右检查模式串每个字符是否能匹配匹配串中的每一个字符。在匹配字符时,如果当前模式串中字符为 . 或者与匹配串对应字符相等均为通过。 例如: 匹配串为:abc 模式串为: a.c 从左向右匹配,返回true 接下来讨论如果模式串中 阅读全文
posted @ 2020-04-23 18:42 nil_f 阅读(251) 评论(0) 推荐(0)
上一页 1 ··· 5 6 7 8 9 10 下一页