摘要: 递归法 思路: 在计算一个数x的n次幂时xn,我们可以先递归计算出x的n//2次幂y=xn//2,然后根据递归计算的结果,如果n是偶数,则结果为xn=y2,否则xn=y2*x。 例如: X77 = (X38)2 * X = ((X19)2)2 * X = (((X9)2 *X)2)2 * X = ( 阅读全文
posted @ 2020-06-01 13:22 nil_f 阅读(171) 评论(0) 推荐(0)
摘要: 排序分类 思路: 建一个字典,把数组中排序后的字符串作为key值,对应数组中的原字符串添加到value中的数组里。 代码: class Solution: def groupAnagrams(self, strs: List[str]) -> List[List[str]]: def sortStr 阅读全文
posted @ 2020-05-31 12:35 nil_f 阅读(145) 评论(0) 推荐(0)
摘要: 转置加翻转 思路: 先把矩阵转置,然后把每一行元素翻转。即遍历元素,交换matrix[i][j]和matrix[j][i],然后翻转每一个子数组。 代码: class Solution: def rotate(self, matrix: List[List[int]]) -> None: """ D 阅读全文
posted @ 2020-05-30 11:46 nil_f 阅读(136) 评论(0) 推荐(0)
摘要: 回溯法 思路: 参考46.全排列,在回溯过程中通过判断数字是否已经用过进行去重。 代码: class Solution: def permuteUnique(self, nums: List[int]) -> List[List[int]]: def pathProcess(first,usedLi 阅读全文
posted @ 2020-05-29 13:30 nil_f 阅读(117) 评论(0) 推荐(0)
摘要: 回溯法 思路: DFS,深度优先搜索。 代码一: class Solution: def permute(self, nums: List[int]) -> List[List[int]]: def pathProcess(res:List[list],subNums:List[int],path: 阅读全文
posted @ 2020-05-28 07:46 nil_f 阅读(100) 评论(0) 推荐(0)
摘要: 贪心算法 思路: 从头开始遍历数组,用end记录当前步所能到达的截止位置,maxPos记录下一步所能到达的最大位置,当遍历到当前步截止位置时,步数加一,end更新为下一步所能到达的最大位置,继续遍历。 代码: class Solution: def jump(self, nums: List[int 阅读全文
posted @ 2020-05-27 11:04 nil_f 阅读(121) 评论(0) 推荐(0)
摘要: 动态规划 思路: 遍历模式串p每一个字符,用列表dp[i][j]统计模式串p中下标为i-1的字符能否匹配到字符串s中下标为j-1的字符。 列表初始状态dp[0][0]为True,接下来讨论p字符的三种情况,即 ‘ * ’ ,‘ ?’,‘ 非*和?的字符’ ① 当p中第i个字符为 * 时,则先查看p中 阅读全文
posted @ 2020-05-26 15:52 nil_f 阅读(235) 评论(0) 推荐(0)
摘要: 竖式乘法 思路: 代码: class Solution: def multiply(self, num1: str, num2: str) -> str: if num1 == '0' or num2 == '0': return '0' len1,len2 = len(num1),len(num2 阅读全文
posted @ 2020-05-25 15:28 nil_f 阅读(126) 评论(0) 推荐(0)
摘要: 暴力法: 思路: 从数组下标1开始遍历到n-1,每当遍历一个元素时,分别寻找到当前元素开始左边和右边的最大值,用最大值中较小值减去当前元素值即为当前位置所能接到的雨水量,加入到结果res中,遍历完成后res即为接到雨水总量。 代码: class Solution: def trap(self, he 阅读全文
posted @ 2020-05-24 15:31 nil_f 阅读(136) 评论(0) 推荐(0)
摘要: 哈希表 思路: 把数组本身作为哈希表,数组内每个元素的值作为索引,将对应位置的值转换为负数,通过判断正负来判断对应值是否出现过。 ①如果数组中不存在1,返回1。如果存在1,数组大小为1,返回2。 ②把数组中的负数和0还有大于数组数量的值变为1 ③遍历数组,把当前位置值的值作为下标,找到下标对应的值取 阅读全文
posted @ 2020-05-23 12:46 nil_f 阅读(142) 评论(0) 推荐(0)