随笔分类 -  力扣刷题

刷刷题 ,我觉得不一定说将来不想进大厂就不用刷题了 ,很多时候都是 一事成 事事成的 ,就算是考选调生,刷题也不会吃亏
摘要:190:颠倒二进制位 位运算一直是我的弱项 class Solution: def reverseBits(self, n: int) -> int: ans = 0 for i in range(32): if n & 1 << i: ans += 1 << (31 - i) return ans 阅读全文
posted @ 2022-03-26 21:17 yi术家 阅读(70) 评论(0) 推荐(0)
摘要:166: 比较版本号 用split分割 用int比较 class Solution: def compareVersion(self, version1: str, version2: str) -> int: v1 = version1.split('.') v2 = version2.split 阅读全文
posted @ 2022-03-12 11:27 yi术家 阅读(66) 评论(0) 推荐(0)
摘要:哈哈哈哈 不是10道题 而是很多题被锁了 154: 寻找旋转数组的最小值 因为之前好像见过类似的 知道是二分 找有序段 left mid right n minnum 我也只有这五个变量名啊 而且都是必须的好嘛。结果空间被百分之95的人击败时间击败了72的人 还行吧。 下面说说思路 就是二分法嘛我感 阅读全文
posted @ 2022-03-12 11:18 yi术家 阅读(57) 评论(0) 推荐(0)
摘要:149: 直线最多的点数 思路就是 对于每一个点 看后面能和他组成的直线数相同的直线怎么判断呢 就用一个字典 标签是 '1' +str((Y2-Y1)/(X2-X1)) 就是用横坐标归一化不过要注意 平行于X轴和Y轴的直线要单独标出来 我用的是X0 和 Y0判断完一个数后 字典要重置 class S 阅读全文
posted @ 2022-02-26 11:34 yi术家 阅读(73) 评论(0) 推荐(0)
摘要:唉 人总是幻想以后的自己会更好 ,实际上 你现在是什么样 大概率你后面就是什么样子 。 我总是想年后一定全新学习,天天早睡早起,锻炼身体,可是过完年依然得过且过,blabla。定目标 就要定当下的目标!!! 不过至少过年的时候力扣没落下 141 环形链表 。 是否有环 快慢指针 经典 # Defin 阅读全文
posted @ 2022-02-26 11:25 yi术家 阅读(44) 评论(0) 推荐(0)
摘要:135 分糖果 一开始 用贪心算法 就很简单的从头到尾遍历 , 对于一个数如果他比前面数大: 就是前面那个糖果数加1跟前面数相等: 就是1比前面数小: 就是1但是如果前面人的糖果也是1呢 就会出现分数不同但是糖果相同的情况,此时需要把前面的严格递减(只差1)分数全部加1比如前面人糖果数是 ...10 阅读全文
posted @ 2022-01-15 19:19 yi术家 阅读(42) 评论(0) 推荐(0)
摘要:因为我最近生病 就是深恶痛绝的 颈椎病 背上都是麻的 所以 唉 艰难的人生唉。 129 :根节点到叶节点之和 简单题前序遍历 往下遍历时 传入当前路径和 记得每层乘10 class Solution: def sumNumbers(self, root: TreeNode) -> int: rel 阅读全文
posted @ 2022-01-15 19:12 yi术家 阅读(54) 评论(0) 推荐(0)
摘要:123 买股票最佳时机3 看了好久的题解才看懂 class Solution: def maxProfit(self, prices: List[int]) -> int: if prices == []: return 0 n = len(prices) buy1 = prices[0] buy2 阅读全文
posted @ 2021-12-31 16:46 yi术家 阅读(42) 评论(0) 推荐(0)
摘要:119 杨辉三角2 一行一行往下推 class Solution: def getRow(self, rowIndex: int) -> List[int]: if rowIndex == 0: return [1] if rowIndex == 1: return [1,1] rel = [1,1 阅读全文
posted @ 2021-12-31 16:39 yi术家 阅读(95) 评论(0) 推荐(0)
摘要:114 二叉树展开为链表 : 反先序遍历 我真是天才 如果是前序遍历的话,根结点没法加入结果,因为这样 本来树的结构和结果会缠绕到一起。 所以想着能不能先加入叶子结点。就想到了反先序 右 左 根 这样的顺序 这样 第一个访问到的就是最右下角那个结点 把他加入结果即可。这样结果就是从下往上构建的了 比 阅读全文
posted @ 2021-12-31 16:33 yi术家 阅读(47) 评论(0) 推荐(0)
摘要:103 :锯齿形层序遍历 不谈了 层序会 这个也没啥难得 加了奇 偶层的判断 def zigzagLevelOrder(self, root: TreeNode) -> List[List[int]]: if root == None: return [] que = [] rel = [] cur 阅读全文
posted @ 2021-12-31 16:28 yi术家 阅读(60) 评论(0) 推荐(0)
摘要:100,相同的树 前序遍历 先看结构再看值 用flag剪枝 # Definition for a binary tree node. # class TreeNode: # def __init__(self, val=0, left=None, right=None): # self.val = 阅读全文
posted @ 2021-12-06 14:36 yi术家 阅读(111) 评论(0) 推荐(0)
摘要:我发现力扣 B站这种登录的电脑多了 之前的就会被挤掉 好麻烦0.0 94:中序遍历 不多讲了 递归真好写 # Definition for a binary tree node. # class TreeNode: # def __init__(self, val=0, left=None, rig 阅读全文
posted @ 2021-12-06 14:24 yi术家 阅读(66) 评论(0) 推荐(0)
摘要:90题 子集2 我想起了上次写子集1 仿照那个写法 结果还不错 根据上题大佬解法有感如果nums有n个数字 那么就分n轮进行 第i轮就只看nums[i]每一轮,对于rel中的每一个结果 让这个结果添加一个nums[i] 再添加到结果中去。如 [1,2,3]这个nums 第0轮 rel是[[]] 对于 阅读全文
posted @ 2021-11-20 21:15 yi术家 阅读(61) 评论(0) 推荐(0)
摘要:83: 删除重复元素 剩一个 依旧头结点 # Definition for singly-linked list. # class ListNode: # def __init__(self, val=0, next=None): # self.val = val # self.next = nex 阅读全文
posted @ 2021-11-13 13:53 yi术家 阅读(50) 评论(0) 推荐(0)
摘要:78:子集问题 我用的是深度回溯 结果空间大爆炸 思路简单 类似于层序遍历的思想 这棵树每层都是一个下标。第一层 空 第二层 是0到n的下标 添加到结果结果中 第一个到第n+1 个是第一层的 把他们都挑出来画子树 用curpos记录第三层的位置然后再遍历 第三层的 pos2 到第三层下标就是新的一层 阅读全文
posted @ 2021-11-13 13:35 yi术家 阅读(61) 评论(0) 推荐(0)
摘要:73: 矩阵置零 我跟官方解竟然一样哎 难点在于原地 class Solution: def setZeroes(self, matrix: List[List[int]]) -> None: """ Do not return anything, modify matrix in-place in 阅读全文
posted @ 2021-11-01 16:51 yi术家 阅读(51) 评论(0) 推荐(0)
摘要:68 文本左右对齐 这困难题是我自己做的 耶~! !我觉得亮点在加空格那里 class Solution: def fullJustify(self, words: List[str], maxWidth: int) -> List[str]: n = len(words) i = 1 rel = 阅读全文
posted @ 2021-11-01 16:38 yi术家 阅读(53) 评论(0) 推荐(0)
摘要:61 旋转列表 被大多数人击败 不想写题解 应该与我数了长度有关 我想的是这样后面不用再遍历了 很长时有利 # Definition for singly-linked list. # class ListNode: # def __init__(self, val=0, next=None): # 阅读全文
posted @ 2021-10-16 10:13 yi术家 阅读(59) 评论(0) 推荐(0)
摘要:55 跳跃游戏 采用了第一次学的的那个方法 维持一个max: 这一步能到达的最远距离nextmax 下一步能到达的最远距离当nextmax到n-1时 直接返回当index到max时 检查下一步 class Solution: def canJump(self, nums: List[int]) -> 阅读全文
posted @ 2021-10-16 10:03 yi术家 阅读(116) 评论(0) 推荐(0)