当前位置:网站首页>【LeetCode刷题】-数之和专题(待补充更多题目)
【LeetCode刷题】-数之和专题(待补充更多题目)
2022-08-05 02:07:00 【D2O】
LeetCode上关于“x数之和”的题目有如下几道
1 两数之和
1 两数之和
思路:hush map
class Solution:
def twoSum(self, nums: List[int], target: int) -> List[int]:
hush=[]
for i in range(len(nums)):
temp=target-nums[i]
if temp in hush:
return [hush.index(temp),i]
else:
hush.append(nums[i])
附一个画蛇添足的错误解法:
题目要求返回的是 index ,就不适用这种一上来就 sort 的解法,
由于nums中有重复元素的存在,这种方法不出意外地报错了。
class Solution:
def twoSum(self, nums: List[int], target: int) -> List[int]:
temp1=nums.copy()
nums.sort()
l,r=0,len(nums)-1
while l<r:
temp=nums[l]+nums[r]
if temp==target:
return [temp1.index(nums[l]),temp1.index(nums[r])]
elif temp<target:
l+=1
else:
r-=1

15 三数之和
15 三数之和
思路:sort 之后用双指针
三数之和题解(其中一种超时了)
18 四数之和
[18 四数之和](https://leetcode.cn/problems/4sum/
思路:还是sort 之后双指针
# TODO:加上代码
633 平方数之和
633 平方数之和
这个题挺简单的,确定检索范围是 range(1, int(math.sqrt(c) + 1)),
在这个范围内找两个数,使得它们的平方和是目标值,
接下来就是经典的两数和问题了。
Python 开方:math.sqrt(num)
解法1:双指针法
class Solution(object):
def judgeSquareSum(self, c):
if c == 0: return True
n=int(math.sqrt(c))
a,b=0,n
while a<=b:
temp=c-a**2-b**2
if temp ==0:
return True
elif temp>0:
a+=1
else:
b-=1
return False
解法2:暴力计算
注:因为只要b是自然数就符合题目要求,所以就不用辛辛苦苦地遍历list了,直接判断b是否是整数。
判断某数是否为整数:int(num)==num
class Solution(object):
def judgeSquareSum(self, c):
if c == 0: return True
for a in range(1, int(math.sqrt(c) + 1)):
b = c - a * a
if int(math.sqrt(b)) ** 2 == b:
return True
return False
关于双指针的一点思考
双指针的本质是什么?
移动的时候会不会剪掉正确答案?
边栏推荐
- dotnet 6 为什么网络请求不跟随系统网络代理变化而动态切换代理
- 优化Feed流遭遇拦路虎,是谁帮百度打破了“内存墙”?
- hypervisor相关的知识点
- LPQ (local phase quantization) study notes
- 在这个超连接的世界里,你的数据安全吗
- How to deal with your own shame
- Chapter 09 Use of Performance Analysis Tools [2. Index and Tuning] [MySQL Advanced]
- <开发>实用工具
- Understand the recommendation system in one article: Recall 06: Two-tower model - model structure, training method, the recall model is a late fusion feature, and the sorting model is an early fusion
- Use of pytorch: Convolutional Neural Network Module
猜你喜欢

.Net C# Console Create a window using Win32 API

Are testing jobs so hard to find?I am 32 this year and I have been unemployed for 2 months. What should an older test engineer do next to support his family?

1349. 参加考试的最大学生数 状态压缩

MySQL3

How do programmers without objects spend the Chinese Valentine's Day
![Chapter 09 Use of Performance Analysis Tools [2. Index and Tuning] [MySQL Advanced]](/img/e7/61863c356e4c7bb03ba27865ee7be0.png)
Chapter 09 Use of Performance Analysis Tools [2. Index and Tuning] [MySQL Advanced]

(17) 51 MCU - AD/DA conversion

蚁剑高级模块开发
![[How to smash wool according to the music the couple listens to during the Qixi Festival] Does the background music affect the couple's choice of wine?](/img/eb/535ffaff9b535fbc73a4d56aab0b3a.png)
[How to smash wool according to the music the couple listens to during the Qixi Festival] Does the background music affect the couple's choice of wine?

Transfer Learning - Joint Geometrical and Statistical Alignment for Visual Domain Adaptation
随机推荐
ExcelPatternTool: Excel table-database mutual import tool
网络安全与元宇宙:找出薄弱环节
Residential water problems
[parameters of PyQT5 binding functions]
.Net C# Console Create a window using Win32 API
Fragment visibility judgment
Methods commonly used interface automation test framework postman tests
SuperMap iDesktop.Net之布尔运算求交——修复含拓扑错误复杂模型
source program in assembly language
IJCAI2022 | DictBert:采用对比学习的字典描述知识增强的预训练语言模型
力扣-相同的树
《.NET物联网从零开始》系列
Transfer Learning - Joint Geometrical and Statistical Alignment for Visual Domain Adaptation
【Unity入门计划】2D游戏中遮挡问题的处理方法&伪透视
力扣-二叉树的最大的深度
AI+PROTAC|dx/tx完成500万美元种子轮融资
leetcode-另一棵树的子树
浅谈数据安全治理与隐私计算
蚁剑高级模块开发
How do programmers without objects spend the Chinese Valentine's Day