当前位置: 首页 > news >正文

LeetCode---【和的操作】

目录

  • 两数之和
    • 我的答案
    • 在b站up那里学到的【然后自己复写】
  • 和为 K 的子数组
    • 在b站up那里学到的【然后自己复写】
  • 三数之和
    • 在b站up那里学到的【然后自己复写】
  • 两数相加【链表】
    • 我的半路答案:没有看到是链表
    • 在b站up那里学到的【复写失败后整理】

两数之和

我的答案

class Solution(object):def twoSum(self, nums, target):leng=len(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):leng=len(nums)for i in range(0,leng):for j in range(i+1,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:# 很巧的思路count=count+dic[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 cur>0 and nums[cur-1] == nums[cur]:continue # 去重left = cur+1right = len(nums)-1while left<right:total = nums[cur]+nums[left]+nums[right]if total >0:right-=1elif total<0:left+=1else:resol.append([nums[cur],nums[left],nums[right]])while left<right and nums[right-1]==nums[right]:# 去重right-=1while left<right and nums[left+1]==nums[left]:# 去重left+=1right-=1left+=1               return resol

两数相加【链表】

我的半路答案:没有看到是链表

  • 我还没有写完,只是想半路测一下是否正确。
  • 关于链表的话,我相对还是弱一点,下次巩固。
class Solution(object):def addTwoNumbers(self, l1, l2):resl=[]cur=0len1=len(l1)len2=len(l2)for i in range(min(len1,len2)):total=l1[i]+l2[i]+curif total>10:cur=total/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
http://www.lryc.cn/news/309818.html

相关文章:

  • Docker容器与虚拟化技术:OpenEuler 使用 docker-compose 部署 LNMP
  • 13-微服务初探-自研微服务框架
  • LeetCode——二叉树(Java)
  • LDR6328芯片:智能家居时代的小家电充电革新者
  • 用node写后端环境运行时报错Port 3000 is already in use
  • Git 如何上传本地的所有分支
  • 【airtest】自动化入门教程(一)AirtestIDE
  • ChatGPT支持下的PyTorch机器学习与深度学习技术应用
  • Springboot+vue的医药管理系统(有报告)。Javaee项目,springboot vue前后端分离项目。
  • C语言:预处理
  • 计算机网络:路由协议
  • 经典动态规划题目leetcode322. 零钱兑换
  • python 使用curl_cffi 绕过jax3指纹-Cloudflare 5s盾
  • Python3学习笔记39-passlib
  • Matlab 机器人工具箱 动力学
  • Android ShellUtils手机管理器
  • 《梦幻西游》本人收集的34个单机版游戏,有详细的视频架设教程,值得收藏
  • 吴恩达机器学习全课程笔记第六篇
  • ue4.27 发现 getRandomReachedLocation 返回 false
  • 【C++ AVL树】
  • 记录一次架构优化处理性能从3千->3万
  • c++二进制位运算使用方法
  • TypeScript之JSON点语法调用
  • 手撕Java集合之简易版Deque(LinkedList)
  • MySQL知识点归纳总结(二)
  • vue:实现顶部消息横向滚动通知
  • [笔记] wsl 禁用配置 win系统环境变量+代理
  • Mysql标量子查询
  • 深入了解Java虚拟机(JVM)
  • Image Fusion via Vision-Language Model【文献阅读】