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

代码随想录算法训练营第一天| 27 移除元素 704 二分查找

目录

27 移除元素

704 二分查找


27 移除元素

快指针遍历,慢指针记录 

class Solution {
public:int removeElement(vector<int>& nums, int val) {int l = 0,r = 0;for(;r < nums.size();r++){if(nums[r] == val){}else{nums[l++] = nums[r];}}return l;}
};

 时间复杂度O(logn)

空间复杂度O(1)

704 二分查找

左闭右闭

class Solution {
public:int search(vector<int>& nums, int target) {int l = 0,r = nums.size() - 1;while(r >= l){int mid = (r - l) / 2 + l;if(nums[mid] > target){r = mid - 1;}else if(nums[mid] < target){l = mid + 1; }else{return mid;}}return -1;}
};

 时间复杂度O(logn)

空间复杂度O(1)

左闭右开

class Solution {
public:int search(vector<int>& nums, int target) {int l = 0,r = nums.size();while(r > l){int mid = (r - l) / 2 + l;if(nums[mid] > target){r = mid;}else if(nums[mid] < target){l = mid + 1; }else{return mid;}}return -1;}
};

时间复杂度O(n)

空间复杂度O(1)

http://www.lryc.cn/news/279194.html

相关文章:

  • 深度生成模型(Deep Generative Models)
  • C++(20):vector通过erase,erase_if删除符合条件的元素
  • 树莓派ubuntu:新增用户
  • C //练习 5-14 修改排序程序,使它能处理-r标记。该标记表明,以逆序(递减)方式排序。要保证-r和-n能够组合在一起使用。
  • CAN总线报文格式———标准数据帧
  • DFT中的SCAN、BIST、ATPG基本概念
  • 掌握 Vue 响应式系统,让数据驱动视图(下)
  • apache、nginx、php 隐藏版本号
  • sqoop的安装与使用
  • 【docker】Docker Stack 详细使用及注意事项
  • Android开发基础(四)
  • HTML5+CSS3+JS小实例:音频可视化
  • 【写作】短篇《相遇与相守》
  • 2024年最新软件测试面试题
  • instanceof、对象类型转化、static关键字
  • 学习笔记-python文件基本操作
  • 【Scala】——流程控制
  • imgaug库指南(20):从入门到精通的【图像增强】之旅
  • 最新AI绘画Midjourney绘画提示词Prompt大全
  • 编写一个简单的服务和客户端(C++)
  • InseRF: 文字驱动的神经3D场景中的生成对象插入
  • 类厂,变长参数,序列化
  • LLK的2023年度总结
  • Redis-浅谈redis.conf配置文件
  • 【liunx】线程池+单例模式+STL,智能指针和线程安全+其他常见的各种锁+读者写者问题
  • Golang的API项目快速开始
  • 机器学习_实战框架
  • Java8常用新特性
  • Go语言中的Channel
  • Unity中URP下实现深度贴花