代码随想录算法训练营第一天| 704二分查找,27移除元素,35搜索插入位置,34
发布人:shili8
发布时间:2025-03-14 10:43
阅读次数:0
**代码随想录算法训练营第一天**
作为一名初学者,我很高兴能够参加代码随想录的算法训练营。第一天的内容非常丰富,涵盖了四道经典问题:704、二分查找、27、移除元素、35、搜索插入位置和34、不少于1500字。
**1.704、二分查找**
二分查找是一种常见的算法技巧,用于在一个有序数组中找到目标值。给定一个整数列表 `nums` 和一个目标值 `target`,请编写一个函数来返回 `target` 的索引。如果 `target` 不在列表中,则返回 `-1`。
def search(nums, target): left, right =0, len(nums) -1 while left <= right: mid = (left + right) //2 if nums[mid] == target: return mid elif nums[mid] < target: left = mid +1 else: right = mid -1 return -1
**2.27、移除元素**
给定一个整数列表 `nums` 和一个目标值 `val`,请编写一个函数来返回列表中 `val` 的数量。
def removeElement(nums, val): i =0 for j in range(len(nums)): if nums[j] != val: nums[i], nums[j] = nums[j], nums[i] i +=1 return i
**3.35、搜索插入位置**
给定一个整数列表 `nums` 和一个目标值 `target`,请编写一个函数来返回 `target` 的插入位置。如果 `target` 已经存在于列表中,则返回其索引。
def searchInsert(nums, target): left, right =0, len(nums) -1 while left <= right: mid = (left + right) //2 if nums[mid] == target: return mid elif nums[mid] < target: left = mid +1 else: right = mid -1 return left
**4.34、不少于1500字**
这个问题没有具体的描述,但是我们可以尝试解释一下。可能是要求我们写一个函数来处理一些特定的场景或者数据。
def process_data(data): # 这里可以添加任何需要的逻辑和代码 pass
**总结**
第一天的内容非常丰富,涵盖了四道经典问题。通过解决这些问题,我们能够更好地理解算法技巧和编程思想。希望在接下来的日子里,我能够继续学习和成长!