当前位置:网站首页>【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
关于双指针的一点思考
双指针的本质是什么?
移动的时候会不会剪掉正确答案?
边栏推荐
- KingbaseES V8 GIS data migration solution (2. Introduction to the capabilities of Kingbase GIS)
- Fragment visibility judgment
- 程序员失眠时的数羊列表 | 每日趣闻
- 第09章 性能分析工具的使用【2.索引及调优篇】【MySQL高级】
- iNFTnews | 对体育行业和球迷来说,NFT可以带来什么?
- 力扣-二叉树的前序遍历、中序遍历、后序遍历
- EBS uses virtual columns and hint hints to optimize sql case
- 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?
- 超越YOLO5-Face | YOLO-FaceV2正式开源Trick+学术点拉满
- J9数字货币论:web3的创作者经济是什么?
猜你喜欢

How do programmers without objects spend the Chinese Valentine's Day

《.NET物联网从零开始》系列

<开发>实用工具

在这个超连接的世界里,你的数据安全吗

树形查找(二叉查找树)

Utilities 
Exercise: Selecting a Structure (1)

迅睿cms网站搬迁换了服务器后网站不能正常显示

"Dilili, wait for the lights, wait for the lights", the prompt sound for safe production in the factory

Method Overriding and Object Class
随机推荐
力扣-二叉树的最大的深度
【PyQT5 绑定函数的传参】
Dotnet 6 Why does the network request not follow the change of the system network proxy and dynamically switch the proxy?
【Endnote】Word插入自定义形式的Endnote文献格式
Fragment visibility judgment
Oracle encapsulates restful interfaces into views
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
编译预处理等细节
《.NET物联网从零开始》系列
“嘀哩哩,等灯等灯”,工厂安全生产的提示音
JZ搜索引擎solr研究-从数据库创建索引
How to simply implement the quantization and compression of the model based on the OpenVINO POT tool
高数_复习_第1章:函数、极限、连续
Day Fourteen & Postman
MySQL学习
day14--postman interface test
AI+PROTAC|dx/tx完成500万美元种子轮融资
[Unity Entry Plan] Handling of Occlusion Problems in 2D Games & Pseudo Perspective
LPQ (local phase quantization) study notes
CMS website construction process