当前位置: 首页 > news >正文

[算法] 数组

1 二分查找

. - 力扣(LeetCode). - 备战技术面试?力扣提供海量技术面试资源,帮助你高效提升编程技能,轻松拿下世界 IT 名企 Dream Offer。icon-default.png?t=O83Ahttps://leetcode.cn/problems/binary-search/submissions/570732311/

前闭后闭

class Solution:def search(self, nums: List[int], target: int) -> int:# 前闭后闭left=0right=len(nums)-1while left<=right:middle=left+(right-left)//2if nums[middle]>target:right=middle-1elif nums[middle]<target:left=middle+1else:return middlereturn -1

前闭后开

class Solution:def search(self, nums: List[int], target: int) -> int:# 前闭后开left=0right=len(nums)while left<right:middle=left+(right-left)//2if nums[middle]>target:right=middleelif nums[middle]<target:left=middle+1else:return middlereturn -1

2 移除元素

. - 力扣(LeetCode)

双指针法

class Solution:def removeElement(self, nums: List[int], val: int) -> int:# 快慢指针fast=0# 慢指针,用来指出删除后的列表slow=0size=len(nums)while fast<size:if nums[fast]!=val:nums[slow]=nums[fast]slow+=1fast+=1return slow

3 有序数组的平方

双指针法

. - 力扣(LeetCode)

class Solution:def sortedSquares(self, nums: List[int]) -> List[int]:i=0j=len(nums)-1k=len(nums)-1result=[0]*len(nums)while i<=j:if nums[i]**2>nums[j]**2:result[k]=nums[i]**2i+=1else:result[k]=nums[j]**2j-=1k-=1return result

4 长度最小的子数组

. - 力扣(LeetCode)

5 螺旋矩阵II

6 区间和

7 开发商购买土地


http://www.mrgr.cn/news/46649.html

相关文章:

  • 规避路由冲突
  • 计算机网络 (42)远程终端协议TELNET
  • Java设计模式——单例模式(特性、各种实现、懒汉式、饿汉式、内部类实现、枚举方式、双重校验+锁)
  • JS宏进阶:函数、对象和类(三)
  • 【微信小程序】let和const-综合实训
  • Colossal-AI:深度学习大规模分布式训练框架
  • 【必须知道】LLM大模型幻觉(hallucination)的成因和处理测试
  • [C++ 核心编程]笔记 3 引用做函数参数
  • c++11~c++20 thread_local
  • 老外发微信时说“I‘ll ping you”是什么意思?发微信怎么用英语说柯桥学英语到哪里?
  • 计算机网络:数据链路层 —— 数据链路层概述
  • LSTM(长短时记忆网络)
  • 城门(动态规划)
  • 【时时三省】(C语言基础)指针笔试题7
  • TLS 加密的原理和过程
  • C++游戏开发指南
  • 操作系统-系统调用
  • [JAVA]连接数据库 并在Java中实现查询员工信息功能
  • OmniH2O——通用灵巧且可全身远程操作并学习的人形机器人(其前身H2O是HumanPlus的重要参考)
  • 解决Nginx出现“Too many open files”的问题
  • 测试基础知识(二)测试分类和质量模型
  • 手动更换SSL证书教程及注意事项
  • 五、Python基础语法(程序的输入和输出)
  • Windows系统安装Docker
  • QColormap Class
  • ctfshow-web 萌新题