【算法训练营】【day1】数组part01

【day1】数组part01

1. 二分查找

py 复制代码
class Solution:
    def search(self, nums: List[int], target: int) -> int:
        left = 0
        right = len(nums) - 1
        while left <= right:
            mid = left + ((right - left) // 2)
            if nums[mid] < target:
                left = mid + 1
            elif nums[mid] > target:
                right = mid - 1
            else:
                return mid
        return -1

2. 移除元素

py 复制代码
class Solution:
    def removeElement(self, nums: List[int], val: int) -> int:
        slow = 0
        for fast in range(len(nums)):
            if nums[fast] != val:
                nums[slow] = nums[fast]
                slow += 1
        return slow

3. 有序数组的平方

py 复制代码
class Solution:
    def sortedSquares(self, nums: List[int]) -> List[int]:
        res = []
        left = 0
        right = len(nums) - 1
        if nums[0] >= 0:
            return [x**2 for x in nums]
        if nums[-1] <=0:
            return [x**2 for x in nums[::-1]]
        for i in range(len(nums)):
            if nums[left]**2 > nums[right] ** 2:
                res.append(nums[left] ** 2)
                left += 1
            else:
                res.append(nums[right] ** 2)
                right -= 1
        return res[::-1]
相关推荐
rit843249917 小时前
基于MATLAB的环境障碍模型构建与蚁群算法路径规划实现
开发语言·算法·matlab
hoiii18717 小时前
MATLAB SGM(半全局匹配)算法实现
前端·算法·matlab
独自破碎E17 小时前
大整数哈希
算法·哈希算法
纤纡.17 小时前
逻辑回归实战进阶:交叉验证与采样技术破解数据痛点(二)
算法·机器学习·逻辑回归
czhc114007566317 小时前
协议 25
java·开发语言·算法
范纹杉想快点毕业18 小时前
状态机设计与嵌入式系统开发完整指南从面向过程到面向对象,从理论到实践的全面解析
linux·服务器·数据库·c++·算法·mongodb·mfc
fish-man18 小时前
测试加粗效果
算法
晓131318 小时前
第二章 【C语言篇:入门】 C 语言基础入门
c语言·算法
yong999018 小时前
MATLAB面波频散曲线反演程序
开发语言·算法·matlab
JicasdC123asd18 小时前
【工业检测】基于YOLO13-C3k2-EIEM的铸造缺陷检测与分类系统_1
人工智能·算法·分类