摘要:
541. 反转字符串 II - 力扣(LeetCode) 代码随想录 题意理解需要花点时间,与昨天的344. 反转字符串 - 力扣(LeetCode)不同在于,昨天题目的字符串是字符列表类型,今天的字符串是双括号括起来的str类型。 这样造成了一些处理上的不同:需要考虑到str类型是不可变类型,对其 阅读全文
摘要:
344. 反转字符串 - 力扣(LeetCode) 代码随想录 解法1:双指针 因为while每次循环需要进行条件判断,而range函数不需要,直接生成数字,因此时间复杂度更低。推荐使用range class Solution: def reverseString(self, s: List[str 阅读全文
摘要:
https://mp.weixin.qq.com/s/7op7tIlFH90fcLYYe6SA4w 选择操作:轮盘赌方法 正交实验 1.为什么同样的cpp文件,用visual studio code软件打开的时候,中文注释会乱码,但是用dev-C++确能正确显示? 中文注释在Visual Studi 阅读全文
摘要:
代码随想录 18. 四数之和 - 力扣(LeetCode) 参照LeetCode13,三数之和的双指针解题思路。 要注意,不要判断nums[i] > target就返回了。 我的解法: 类似三数之和,先确定left和right指针分别为i+1和len(nums)-1,而mid(第三个指针)设置为ri 阅读全文
摘要:
15. 三数之和 - 力扣(LeetCode) 代码随想录 (programmercarl.com) 方法一:双指针法 class Solution: def threeSum(self, nums: List[int]) -> List[List[int]]: res = [] nums.sort 阅读全文
摘要:
383. 赎金信 - 力扣(LeetCode) 代码随想录 方法1:数组 all(...) all 函数用于检查迭代器中的所有条件是否都为 True。 如果任意一个条件为 False,all 会返回 False。 方法2:使用defaultdict 我的代码: 代码随想录的代码: 方法3:使用字典 阅读全文
摘要:
454. 四数相加 II - 力扣(LeetCode) 代码随想录 (programmercarl.com) 本题解题步骤: 首先定义 一个unordered_map(在python中为字典),key放a和b两数之和,value 放a和b两数之和出现的次数。 遍历大A和大B数组,统计两个数组元素之和 阅读全文
摘要:
解法1:暴力解法 class Solution: def twoSum(self, nums: List[int], target: int) -> List[int]: for i in range(len(nums)): des = target - nums[i] if des in nums 阅读全文
摘要:
202. 快乐数 - 力扣(LeetCode) 解法1: (1)把数字n转换为字符串,从而得到每一位的数值。 事先不知道数字n有多少位。 (2)把每一次求平方和得到的数存到集合中,从而避免数字重复导致的循环。 class Solution: def calSquare(self, num): str 阅读全文
摘要:
文心一言: Python 的集合类型有一个 & 操作符,可以用来计算两个集合的交集。 class Solution: def intersection(self, nums1: List[int], nums2: List[int]) -> List[int]: nums1_set = set(nu 阅读全文