leetcode
Jaggar_csdn
这个作者很懒,什么都没留下…
展开
-
python 输入两个整数n和m,从数列1,2,3....n中随意取几个数,使其和等于m,要求将其中所有的可能组合列出来
def main(n, m): all_path = [] path =[] def dfs(res, n): if n<=0 or res <= 0: return if res == n: path.append(n) print(path, res, n) all_path.append(list(path)) p原创 2020-07-25 22:25:47 · 2109 阅读 · 0 评论 -
python 搞清楚二分查找边界条件
此文看了labuladong的一篇公众号一篇文章归纳出的模板,感谢labuladong大佬带我刷题也是刷了一道题:https://leetcode-cn.com/problems/search-insert-position/才发现自己连最基础的二分查找都有些拎不清,现在来总结一下最容易错的边界条件点:right = len(nums) -1 还是 right = len(nums)?while left<=right 还是 while left < right?+1/-1?ri原创 2020-07-19 23:31:22 · 892 阅读 · 1 评论 -
DP错题总结
1. 地下城游戏思路这道题从前往后要同时保证当前房间最低血量和路径最低血量。所以倒着来,从后往前,这样只需要保证房间最低学量,因为路径最低血量不管是多少都能到达最后终点(从终点来的)动态转移方程:dp[i][j]=max(min(dp[i+1][j],dp[i][j+1])−dungeon(i,j),1)最终答案即为 dp[0][0]边界条件为,dp[n−1][m−1] 转移需要用到的 dp[n-1][m]和 dp[n][m-1]均为无效值,因此我们给这两个值赋值为 1这里 -dungeon[i原创 2020-07-13 23:56:31 · 203 阅读 · 0 评论 -
python 各种层次遍历(包括n叉树)
常规层次遍历:输出整个列表比如[1,2,3,4,5]这种# Definition for a binary tree node.# class TreeNode:# def __init__(self, x):# self.val = x# self.left = None# self.right = Noneclass Solution: def levelOrder(self, root: TreeNode) ->.原创 2020-07-08 23:45:32 · 2780 阅读 · 0 评论 -
python 机器人达到指定位置方法数
牛客链接: https://www.nowcoder.com/practice/54679e44604f44d48d1bcadb1fe6eb61?tpId=101&tqId=33085&tPage=1&rp=1&ru=/ta/programmer-code-interview-guide&qru=/ta/programmer-code-interview-guide/question-ranking(在牛客里面用python容易会有时间复杂度的问题)主要思想是先写原创 2020-06-09 22:08:43 · 549 阅读 · 0 评论 -
python 斐波拉切数列矩阵快速幂的方法 O(logN)
常规的递归操作时间复杂度O(2^N), 循环操作时间复杂度O(N)这里介绍一种时间复杂度O(logN)的解法思路:将 F(n) = F(n-1) + F(n-2) 变换为矩阵乘法形式:[F(n),F(n-1)] = [F(1), F(0)] * [[1 1] [1 0]]^(n-1),其中**[F(1), F(0)]=[1, 0],在矩阵运算时相当于取后面矩阵运算结果第一行**例如: [F(2), F(1)] = [F(1), F(0)] * [[1 1] [1 0]] = [F(0)+F(1)原创 2020-06-04 12:56:11 · 653 阅读 · 0 评论 -
python算法题:2sum, 3sum, 4sum, nsum
two sum思路:一次哈希,边哈希边检测另一个数字是否已经在dict中(二次哈希也可)时间复杂度O(n) 空间复杂度O(n)PS: 其实还可以先排序再双指针(沿用3sum的思路),这样操作时间复杂度O(nlogn)空间复杂度O(1)import copyclass Solution: def twoSum(self, nums: List[int], target: int...原创 2020-05-05 11:12:17 · 515 阅读 · 0 评论 -
统计整数二进制中1的个数_不一样的各种python方法
题目分析这个题目需要注意的首先是整数,包括正整数和负整数。其次在python中,数据位数是一个比较模糊的概念,在程序中基本不存在,因为越位之后他会自动将int转为为long类型,所以对python程序员来说,需要提前搞明白整数的位数,或者在python语言中调用C语言,下面来列举其中的集中解法。技巧:python中的左移和右移与其他C/C++等的定义和结果都是不一样的,大家可以自行做实验,p...转载 2020-02-13 10:40:09 · 779 阅读 · 0 评论