做推广的网站微信号,电子商务范围,定制网站+域名+企业邮箱,ftp修改网站目录 两数之和我的答案在b站up那里学到的【然后自己复写】 和为 K 的子数组在b站up那里学到的【然后自己复写】 三数之和在b站up那里学到的【然后自己复写】 两数相加【链表】我的半路答案#xff1a;没有看到是链表在b站up那里学到的【复写失败后整理】 两数之和
我的答案
… 目录 两数之和我的答案在b站up那里学到的【然后自己复写】 和为 K 的子数组在b站up那里学到的【然后自己复写】 三数之和在b站up那里学到的【然后自己复写】 两数相加【链表】我的半路答案没有看到是链表在b站up那里学到的【复写失败后整理】 两数之和
我的答案
class Solution(object):def twoSum(self, nums, target):lenglen(nums)for i in range(leng):for j in range(leng):if nums[i]nums[j]target and i!j:return [i,j]在b站up那里学到的【然后自己复写】
忘记怎么取list的第二个值了。【利用range的特性】
class Solution(object):def twoSum(self, nums, target):lenglen(nums)for i in range(0,leng):for j in range(i1,leng):if nums[i]nums[j]target and i!j:return [i,j]哈希表【空间换时间】
class Solution(object):def twoSum(self, nums, target):mapping {}for i in range(0, len(nums)):mapping[nums[i]] ifor j in range(0, len(nums)):diff target - nums[j]if (diff in mapping and mapping[diff] ! j):return [j,mapping[diff]];和为 K 的子数组
在b站up那里学到的【然后自己复写】
class Solution(object):def subarraySum(self, nums, k):count 0dic{}dic[0] 1cur_sum 0for num in nums:cur_sum cur_sum numif cur_sum-k in dic:# 很巧的思路countcountdic[cur_sum-k]if cur_sum in dic:dic[cur_sum] 1else:dic[cur_sum] 1return count 三数之和
在b站up那里学到的【然后自己复写】
class Solution(object):def threeSum(self, nums):resol[]nums.sort()for i in range(len(nums)):cur iif nums[cur]0:return resolif cur0 and nums[cur-1] nums[cur]:continue # 去重left cur1right len(nums)-1while leftright:total nums[cur]nums[left]nums[right]if total 0:right-1elif total0:left1else:resol.append([nums[cur],nums[left],nums[right]])while leftright and nums[right-1]nums[right]:# 去重right-1while leftright and nums[left1]nums[left]:# 去重left1right-1left1 return resol两数相加【链表】
我的半路答案没有看到是链表
我还没有写完只是想半路测一下是否正确。关于链表的话我相对还是弱一点下次巩固。
class Solution(object):def addTwoNumbers(self, l1, l2):resl[]cur0len1len(l1)len2len(l2)for i in range(min(len1,len2)):totall1[i]l2[i]curif total10:curtotal/10resl.append(total%10)else:resl.append(total)return resl在b站up那里学到的【复写失败后整理】
class Solution(object):def addTwoNumbers(self, l1, l2):total 0next1 0dummy ListNode()cur dummy#############必须得要一个临时变量因为后面输出是从头开始输出while (l1 ! None and l2 ! None):total l1.val l2.val next1cur.next ListNode(total % 10)next1 total // 10cur cur.next##################不要忘记l1 l1.nextl2 l2.nextwhile l1 ! None:total l1.val next1cur.next ListNode(total % 10)next1 total // 10cur cur.next##################不要忘记l1 l1.nextwhile l2 ! None:total l2.val next1cur.next ListNode(total % 10)next1 total // 10cur cur.next##################不要忘记l2 l2.nextif next1 ! 0:cur.next ListNode(next1)return dummy.next