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

Leetcode 15.三数之和

在这里插入图片描述

解法:两处去重+二分法

class Solution:def threeSum(self, nums: List[int]) -> List[List[int]]:nums.sort()res = []visited_numi = [] # 第一处去重for i in range(len(nums) - 2):if nums[i] not in visited_numi:visited_numi.append(nums[i])sortnums = nums[i+1: ]l, r = 0, len(sortnums) - 1while r > l:if sortnums[l] + sortnums[r] == - nums[i]: res.append([nums[i], sortnums[l], sortnums[r]])while l < r and sortnums[l + 1] == sortnums[l]: l += 1 # 第二处去重while l < r and sortnums[r - 1] == sortnums[r]: r -= 1l += 1r -= 1elif sortnums[l] + sortnums[r] > - nums[i]: r -= 1else: l += 1return res

http://www.mrgr.cn/news/14670.html

相关文章:

  • 【C++】类与对象
  • 爬虫可以通过那几种方式更换IP爬取
  • MyBatis之XML配置文件(一)
  • centos安装mysql8.0版本,并且实现远程连接
  • RSA非对称性加密02: 加密redis的连接密码(下)-私钥加密,公钥解密
  • 【文档合集】软件类常用文档整理大全,软件工程,软件项目管理,技术标书方案,模
  • 代码随想录跟练第九天——LeetCode 232.用栈实现队列、225. 用队列实现栈、20. 有效的括号、1047. 删除字符串中的所有相邻重复项
  • RAG中pdf解析的方法全览
  • 重构贪心算法(二)
  • 【ElasticSearch】基本命令
  • 学懂C++(四十四):C++ 自定义内存管理的深入解析:内存池与自定义分配器
  • wordpress跨境电商外贸独立站 常见获取流量方式
  • 在手机在线预览3D模型,是如何实现的?
  • Qt 调用MFC dll,动态库中有界面
  • 【Python】简单的数据类型——int、float、bool、str
  • 【Leetcode 2215 】 找出两数组的不同 —— 同时操作两个哈希表
  • 【MySQL数据库管理问答题】第4章 配置 MySQL
  • CSS 中高度 100%和高度 100vh 有什么区别
  • 基于混沌麻雀搜索算法的光伏MPPT控制MATLAB仿真
  • 有了豆包Marscode你还害怕不会写代码吗?