每日三题 / 128.最长连续序列 283.移动零 11.盛最多水的容器(leetcode热题100)

news/2024/5/20 2:18:24

128. 最长连续序列 - 力扣(LeetCode)
image.png

用unordered_set去重排序,时间复杂度为 O ( n ) O(n) O(n)
对于数组中连续序列的第一个数,设置cnt初始为1,根据unordered_set查找该连续序列的长度

class Solution {
public:int longestConsecutive(vector<int>& nums) {int ans = 0;unordered_set<int> s;for (int i = 0; i < nums.size(); ++ i) {s.insert(nums[i]);}for (auto t : s) {if (s.count(t - 1) == 0) {int cnt = 1, cur = t;while (s.count(cur + 1)) {cur ++ ;cnt ++ ;}ans = max(ans, cnt);}}return ans;}
};

283. 移动零 - 力扣(LeetCode)
image.png

统计0的数量,遇到非0元素,将当前元素向前移动(0的数量)
最后将数组的后(0的数量)个元素,修改为0即可

class Solution {
public:void moveZeroes(vector<int>& nums) {int cnt = 0;for (int i = 0; i < nums.size(); ++ i) {if (nums[i] == 0) cnt ++ ;else swap(nums[i], nums[i - cnt]);}for (int i = nums.size() - cnt; i < nums.size(); ++ i) {nums[i] = 0;}return;}
};

11. 盛最多水的容器 - 力扣(LeetCode)

image.png

设置左右指针,每次移动数值较小的指针。因为此时,对于较小值来说,此时已经达到最优解。若移动数值较大指针,底面积将减小,而高度不变(由较小值决定),不可能出现更优解
而对于较大值来说,虽然底面积减小,但可能遇到比较小值大的值,出现更优解,直到自己成为较小值
只需在每次移动后,维护较大值即可

class Solution {
public:int maxArea(vector<int>& height) {int l = 0, r = height.size() - 1;int ans = 0;while (l < r) {ans = max(ans, (r - l) * min(height[l], height[r]));if (height[l] <= height[r]) l ++ ;else r -- ;}return ans;}
};

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hjln.cn/news/12345.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

215 基于matlab的快速跟踪算法

基于matlab的快速跟踪算法&#xff0c;提出一种简单又快速、 鲁棒性的算法&#xff0c;基于贝叶斯框架下&#xff0c;该模型 &#xff08;即图像强度和从目标位置&#xff09; 的低级功能及周边地区的统计相关性的时空关系。跟踪问题是通过计算信心地图&#xff0c;并将以最大限…

预处理详解

一.预定义符号 在C语言里设置了一些预定义符号&#xff0c;可以直接使用&#xff0c;预定义符号也是在预处理期间使用的。 __FILE__&#xff1a;进行编译的源文件 __LINE__&#xff1a;文件当前行号 __DATE__&#xff1a;文件被编译的日期 __TIME__&#xff1a;文件被编译的时…

Python中大的一把锁

今天可以来讲解下GIL是个什么了。 GIL为什么是Python中大的一把锁&#xff1f; GIL是Global Interpreter Lock的缩写&#xff0c;翻译过来就是全局解释器锁。 从字面上去理解&#xff0c;它就是锁在解释器头上的一把锁&#xff0c;它使Python代码运行变得有序。 假如有一段…

Word wrap在计算机代表的含义(自动换行)

“Word wrap”是一个计算机术语&#xff0c;用于描述文本处理器在内容超过容器边界时自动将超出部分转移到下一行的功能。在多种编程语言和文本编辑工具中&#xff0c;都有实现这一功能的函数或选项。 在编程中&#xff0c;例如某些编程语言中的wordwrap函数&#xff0c;能够按…

基于springboot实现常州地方旅游管理系统项目【项目源码+论文说明】计算机毕业设计

基于springboot实现旅游管理系统演示 摘要 随着旅游业的迅速发展&#xff0c;传统的旅游信息查询方式&#xff0c;已经无法满足用户需求&#xff0c;因此&#xff0c;结合计算机技术的优势和普及&#xff0c;针对常州旅游&#xff0c;特开发了本基于Bootstrap的常州地方旅游管…

一分钟了解机器人自由度

目录 自由度的定义 自由度的分类 自由度的影响 影响自由度的主要参数 关节类型和数量 机械结构 控制系统 自由度控制的硬件架构原理 传感器 执行器 控制器 通信接口 软件和算法 机器人的自由度是指机器人在空间中可以独立移动的方向和角度的数量&#xff0c;它是衡…

springboot+nodejs+vue残联残疾人信息服务系统django+python设计与实现

前端开发框架:vue.js 框架支持:django/sprinngboot/php/Ssm/flask/express均支持 语言&#xff1a;pythonjavanode.jsphp均支持 数据库 mysql 版本不限 数据库工具&#xff1a;Navicat/SQLyog等都可以 运行软件:idea/eclipse/vscode/pycharm/wamp/phpstudy均支持 设计框架&…

Nginx日志格式化和追踪

背景 Nginx是一款功能强大的Web服务器&#xff0c;对于网络环境中的日志记录和配置至关重要。定制化Nginx日志格式可以帮助管理员更好地监控服务器性能、分析用户行为并做出相应优化。在本文中&#xff0c;我们将深入探讨Nginx日志格式的高级定制化策略&#xff0c;包括理解基…