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

数据结构系统刷题

本文为系统刷leetcode的记录,会记录自己根据代码随想录刷过的leetcode,方便直接点开刷题,时常更新
时间复杂度简记为s
空间复杂度简记为k

数组

704 二分查找
一维二分查找
(1)[left, right]

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

s: O ( l o g n ) O(logn) O(logn)
k: O ( 1 ) O(1) O(1)
(2)[left, right)

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

s: O ( l o g n ) O(logn) O(logn)
k: O ( 1 ) O(1) O(1)
二维二分查找:74. 搜索二维矩阵

class Solution {
public:bool searchMatrix(vector<vector<int>>& matrix, int target) {int m = matrix.size();int n = matrix[0].size();int low = 0;int high = m * n - 1;while (low <= high) {int mid = (low + high) / 2;int num = matrix[mid / n][mid % n]; // 第一个是确定第几行,第二个是确定第几列,相当于把matrix降维成一维,比如要找一个4*4数组的第13个元素,13/4 = 3,为第四行(行索引是0开始),13%4=1,即第四行第一个if (num < target) {low = mid + 1;} else if (num > target) {high = mid - 1;} else return true;}return false;}
};

27. 移除元素

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

s: O ( n ) O(n) O(n)
k: O ( 1 ) O(1) O(1)

977. 有序数组的平方

class Solution {
public:vector<int> sortedSquares(vector<int>& nums) {int k = nums.size() - 1;vector<int> result(nums.size(), 0);for (int i = 0, j = nums.size() - 1; i <= j;) {if (nums[i] * nums[i] > nums[j] * nums[j]) {result[k--] = nums[i] * nums[i];i++;} else {result[k--] = nums[j] * nums[j];j--;}}return result;}
};

s: O ( n ) O(n) O(n)
k: O ( n ) O(n) O(n)
209. 长度最小的子数组

59. 螺旋矩阵 II

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

相关文章:

  • 【RabbitMQ】延迟队列之死信交换机
  • 2024交通运输工程与土木建筑工程国际会议(ICTECCE2024)
  • 搜索引擎Elasticsearch了解
  • 【操作系统基础】【CPU访存原理】:寄存 缓存 内存 外存、内存空间分区、虚拟地址转换、虚拟地址的映射
  • windows下git pull超时,ping不通github
  • springboot快速写接口
  • 数据结构排序算详解(动态图+代码描述)
  • 2024-01-25 力扣高频SQL50题目1174. 即时食物配送
  • java web 校园健康管理系统Myeclipse开发mysql数据库web结构java编程计算机网页项目
  • 回归预测 | Matlab基于SSA-SVR麻雀算法优化支持向量机的数据多输入单输出回归预测
  • Java转成m3u8,hls格式
  • jmeter之接口测试实现参数化(利用函数助手),参数值为1-9(自增的数字)
  • 如何在 Ubuntu 22.04 上安装 Apache Web 服务器
  • 【python爬虫】爬虫编程技术的解密与实战
  • VisualSVN Server下载安装和使用方法、服务器搭建、使用TortoiseSvn将项目上传到云端服务器、各种错误解决方法
  • Python模块与包:扩展功能、提高效率的利器
  • 【每日一题】4.LeetCode——杨辉三角
  • 蓝桥杯(Python)每日练Day5
  • SpringCloud(二)
  • 【java】常见的面试问题
  • 虚幻UE 插件-像素流送实现和优化
  • Vue2 props组件通信
  • 重构改善既有代码的设计-学习(三):重新组织数据
  • 群狼调研(长沙品牌忠诚度测试)|广告效果测评方法
  • Gradle学习笔记:Gradle的使用方法
  • 少儿编程 2023年12月电子学会图形化编程等级考试Scratch二级真题解析(选择题)
  • 基于Java+SpringMvc+vue+element实现上海汽车博物馆平台
  • Sybase PowerDesigner15安装配置
  • 基于物联网设计的水稻田智能灌溉系统(STM32+华为云IOT)
  • 【数据结构】数据结构初识