力扣题目汇总(存在重复,合并两个有序数组,搜索插入位置)
存在重复元素
1.题目描述
-
-
给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。
设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。
注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。
示例 1:
复制
输入: [7,1,5,3,6,4] 输出: 7 解释: 在第 2 天(股票价格 = 1)的时候买入,在第 3 天(股票价格 = 5)的时候卖出, 这笔交易所能获得利润 = 5-1 = 4 。 随后,在第 4 天(股票价格 = 3)的时候买入,在第 5 天(股票价格 = 6)的时候卖出, 这笔交易所能获得利润 = 6-3 = 3 。
示例 2:
复制
输入: [1,2,3,4,5] 输出: 4 解释: 在第 1 天(股票价格 = 1)的时候买入,在第 5 天 (股票价格 = 5)的时候卖出, 这笔交易所能获得利润 = 5-1 = 4 。 注意你不能在第 1 天和第 2 天接连购买股票,之后再将它们卖出。 因为这样属于同时参与了多笔交易,你必须在再次购买前出售掉之前的股票。
示例 3:
复制
给定一个整数数组,判断是否存在重复元素。 如果任何值在数组中出现至少两次,函数返回 true。如果数组中每个元素都不相同,则返回 false。 示例 1: 输入: [1,2,3,1] 输出: true 示例 2: 输入: [1,2,3,4] 输出: false 示例 3: 输入: [1,1,1,3,3,4,3,2,4,2] 输出: true
-
2.解题思路
复制利用元祖去重,比长度
3.解题
复制class Solution:
def containsDuplicate(self, nums: List[int]) -> bool:
return len(nums) != len(set(nums))
合并两个有序数组
1.题目描述
-
-
给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 成为一个有序数组。
说明:
- 初始化 nums1 和 nums2 的元素数量分别为 m 和 n。
- 你可以假设 nums1 有足够的空间(空间大小大于或等于 m + n)来保存 nums2中的元素。
示例:
复制
输入: nums1 = [1,2,3,0,0,0], m = 3 nums2 = [2,5,6], n = 3
-
输出: [1,2,2,3,5,6]
```
2.解题思路
复制最大的问题是在原数据上修改,其他问题应不大
3.解题
复制class Solution:
def merge(self, nums1: List[int], m: int, nums2: List[int], n: int) -> None:
"""
Do not return anything, modify nums1 in-place instead.
"""
start_nums1 = nums1[:m]
nex_nums1 = nums2[:n]
nums1.clear()
for a in start_nums1:
nums1.append(a)
for b in nex_nums1 :
nums1.append(b)
nums1.sort()
搜索插入位置
1.题目描述
-
-
-
给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。
你可以假设数组中无重复元素。
示例 1:
复制
输出: 2复制
输入: [1,3,5,6], 2**示例 2:**
输出: 1复制
输入: [1,3,5,6], 7**示例 3:**
输出: 4复制
输入: [1,3,5,6], 0**示例 4:**
输出: 0复制
-
-
2.解题思路
复制跟着题目讲解走,我们先要实现,
1.这个值再列表中,这个值插入后就是原先相同值的索引
2,这个值不在列表中
⑴列表中的值有比这个大的,这个值插入就是刚刚好比他大的值的索引
⑵列表中的值没有有比这个大的,这个值插入就在末尾,末尾索引可以为len(列表)
3.解题
复制class Solution:
def searchInsert(self, nums: List[int], target: int) -> int:
if target in nums:
return nums.index(target)
else:
for a in range(len(nums)):
if nums[a] > target:
return a
break #后面没必要进行运行了减少内存
else:
return len(nums)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理