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

LeetCode面试题Day15|LC219 存在重复元素Ⅱ、LC229 汇总区间

题目一:219重复元素

指路:

. - 力扣(LeetCode)219 存在重复元素Ⅱ

思路与分析:

本题要求找出在数组中相距在(0, k]内且元素值相同的数。那么我们定义一个哈希表,用数组中元素作为键,将其出现的下标作为值。键唯一时值为出现的下标,当下标差小于等于k时返回true,否则返回false。

代码:

class Solution {
public:bool containsNearbyDuplicate(vector<int>& nums, int k) {unordered_map<int, int> map;  // 用数组中的值做键,用出现的下标做值构成键值对for (int i = 0; i < nums.size(); i++) {int key = nums[i];if (map.count(key) && i - map[key] <= k) return true;map[key] = i;}return false;}
};

题目二:汇总空间

指路:

. - 力扣(LeetCode)228 汇总空间

思路与分析:

因为本题要求返回的是vector的string类型,那么我们定义一个最终结果集。题意非常明确,当一个区间内数字连续时将首尾元素添加到字符串内加上特定符号返回。当首尾元素一致时返回首元素字符串。那么我们将起始指针定在数组的元素首位置,当后面一个数值与其差值为1时终止元素后移直到相邻两元素不连续,此时将连续的起止指针转换为字符串并在中间加入指定字符"->"。

代码:

class Solution {
public:vector<string> summaryRanges(vector<int>& nums) {vector<string> ret;  // 最终结果集int i = 0;int n = nums.size();while (i < n) {int low = i;  // 区间起始指针i++;while (i < n && nums[i] == nums[i - 1] + 1) {i++;  // 当前后两个数差为1时区间终止后移一个}int high = i - 1;  string tmp = to_string(nums[low]);  // 起始指针从int转成字符串if (low < high) {tmp.append("->");  // 添加符号tmp.append(to_string(nums[high]));  // 添加终止指针指向元素}ret.push_back(move(tmp));// tmp表示指定的左值对象,move函数返回tmp对象的右值形式,将其添加进最终结果集}return ret;}
};

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 高考杂志社《高考》杂志社高考杂志社编辑部2024年第22期目录
  • 客车制造5G智能工厂工业物联数字孪生平台,推进制造业数字化转型
  • 微服务事务管理
  • Qt5.14.2 多边形与多边形求交集
  • GPT4的代码生成能力能不能取代一个月薪5000水平的码农?
  • 大象机械臂myCobot 280 JN 2023和D435i相关环境配置
  • Spring Boot 中的 starter 是什么
  • 大脑可视化:多种方式实现fMRI的ROI的绘图
  • C语言 | Leetcode C语言题解之第363题矩形区域不超过K的最大数值和
  • 如何解决git@github.com: Permission denied (publickey)异常
  • k8s Pod生命周期详解
  • 動態IP設置反向代理教程
  • 【playwright篇】 Locator对象的方法详解
  • 鸿蒙OS promptAction的使用
  • 大模型重塑就医体验:医联MedGPT助力健康中国建设
  • 《网管员必读——网络组建》(第2版)电子课件下载
  • 【刷算法】从上往下打印二叉树
  • js写一个简单的选项卡
  • PAT A1050
  • php中curl和soap方式请求服务超时问题
  • 第十八天-企业应用架构模式-基本模式
  • 关于List、List?、ListObject的区别
  • 开源地图数据可视化库——mapnik
  • 王永庆:技术创新改变教育未来
  • 微信如何实现自动跳转到用其他浏览器打开指定页面下载APP
  • 协程
  • Python 之网络式编程
  • 机器人开始自主学习,是人类福祉,还是定时炸弹? ...
  • 树莓派用上kodexplorer也能玩成私有网盘
  • 整理一些计算机基础知识!
  • ​ ​Redis(五)主从复制:主从模式介绍、配置、拓扑(一主一从结构、一主多从结构、树形主从结构)、原理(复制过程、​​​​​​​数据同步psync)、总结
  • ​​​【收录 Hello 算法】9.4 小结
  • # C++之functional库用法整理
  • (10)Linux冯诺依曼结构操作系统的再次理解
  • (2024)docker-compose实战 (9)部署多项目环境(LAMP+react+vue+redis+mysql+nginx)
  • (3)STL算法之搜索
  • (C#)Windows Shell 外壳编程系列9 - QueryInfo 扩展提示
  • (Redis使用系列) Springboot 使用redis实现接口幂等性拦截 十一
  • (补)B+树一些思想
  • (附源码)ssm高校升本考试管理系统 毕业设计 201631
  • (论文阅读30/100)Convolutional Pose Machines
  • (十二)Flink Table API
  • (详细文档!)javaswing图书管理系统+mysql数据库
  • *p=a是把a的值赋给p,p=a是把a的地址赋给p。
  • *算法训练(leetcode)第三十九天 | 115. 不同的子序列、583. 两个字符串的删除操作、72. 编辑距离
  • .form文件_一篇文章学会文件上传
  • .NET Conf 2023 回顾 – 庆祝社区、创新和 .NET 8 的发布
  • .NET Core引入性能分析引导优化
  • .NET Framework Client Profile - a Subset of the .NET Framework Redistribution
  • .NET 表达式计算:Expression Evaluator
  • .net和php怎么连接,php和apache之间如何连接
  • @Autowired 与@Resource的区别
  • [240607] Jina AI 发布多模态嵌入模型 | PHP 曝新漏洞 | TypeScript 5.5 RC 发布公告
  • [C++]——继承 深继承
  • [CSS]CSS 字体属性