【算法训练营】【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]
相关推荐
不爱吃炸鸡柳3 小时前
单链表专题(完整代码版)
数据结构·算法·链表
CylMK3 小时前
题解:AT_abc382_d [ABC382D] Keep Distance
算法
Dfreedom.4 小时前
计算机视觉全景图
人工智能·算法·计算机视觉·图像算法
Morwit4 小时前
【力扣hot100】 1. 两数之和
数据结构·c++·算法·leetcode·职场和发展
无小道5 小时前
算法——暴力+优化
算法·优化·暴力
Free Tester5 小时前
如何判断 LeakCanary 报告的严重程度
java·jvm·算法
zyq99101_15 小时前
DFS算法实战:经典例题代码解析
python·算法·蓝桥杯·深度优先
智者知已应修善业5 小时前
【51单片机单按键切换广告屏】2023-5-17
c++·经验分享·笔记·算法·51单片机
广州灵眸科技有限公司5 小时前
为RK3588注入澎湃算力:RK1820 AI加速卡完整适配与评测指南
linux·网络·人工智能·物联网·算法
qinian_ztc5 小时前
frida 14.2.18 安装报错解决
算法·leetcode·职场和发展