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

408算法题leetcode--第四天

41. 缺失的第一个正数

  • 41. 缺失的第一个正数
  • 思路:如代码,可以看官方题解
  • 时间复杂度:O(n);空间:O(1)
class Solution {
public:int firstMissingPositive(vector<int>& nums) {// 假设有n个数,那么缺失的第一个正数一定在[1, n + 1]之间// 如果使用O(n)的额外空间,可以用哈希表先记录所有数,然后遍历[1, n+1]// 如果只用O(1)的额外空间;可以用nums本身作为哈希表,下标[0, size - 1]代表[1, size]// 如[3, 2, 5, 0],遍历到3,将下标2置为负数;用负数代表该下标的数值存在,正数代表缺失// 这样只需再次遍历数组,第一个正数即答案// 注意<=0和>=n的数不处理int size = nums.size();for(int& i : nums){  // 不处理if(i <= 0) i = size + 1;}// 第一次遍历for(auto i : nums){int abs_i = abs(i);if(abs_i <= size){nums[abs_i - 1] = -abs(nums[abs_i - 1]);  // 置为负数}}// 第二次遍历for(int i = 0; i < size; ++i){if(nums[i] > 0){return i + 1;}}return size + 1;}
};

387. 字符串中的第一个唯一字符

  • 387. 字符串中的第一个唯一字符
  • 思路:哈希表记录每个字符的个数,然后再次遍历观察哪个字符个数为1
  • 时间:O(n);空间:O(字符种类数)
class Solution {
public:int firstUniqChar(string s) {unordered_map<char, int>mp;for(auto c : s){mp[c]++;}int size = s.size();for(int i = 0; i < size; i++){if(mp[s[i]] == 1){return i;}}return -1;}
};

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • gogps 利用广播星历解算卫星位置matlab函数satellite_orbits详细注解版
  • python 自动化测试接口
  • 零基础5分钟上手亚马逊云科技-利用API网关管理API
  • webpack 配置
  • MySQL_简介及安装、配置、卸载(超详细)
  • 【SpringBoot】调度和执行定时任务--Quartz(超详细)
  • 《网络协议 - HTTP传输协议及状态码解析》
  • mis_table.cs 与 csharp_mis_table.h
  • 用shell脚本,批量备份MySQL中所有数据库,并批量还原
  • 常用的运维工具:文件传输工具详解(SCP, SFTP)
  • GitLab CI_CD 从入门到实战笔记
  • 预训练发展
  • Python 中错误 CSV.Error: Line Contains Null Byte
  • Flink+Spark相关记录
  • RepLKNet架构详解
  • python3.6+scrapy+mysql 爬虫实战
  • CAP 一致性协议及应用解析
  • Django 博客开发教程 8 - 博客文章详情页
  • Docker入门(二) - Dockerfile
  • mysql中InnoDB引擎中页的概念
  • ng6--错误信息小结(持续更新)
  • Twitter赢在开放,三年创造奇迹
  • vuex 笔记整理
  • Webpack入门之遇到的那些坑,系列示例Demo
  • 初识 beanstalkd
  • 高程读书笔记 第六章 面向对象程序设计
  • 缓存与缓冲
  • 面试总结JavaScript篇
  • 微服务框架lagom
  • 用element的upload组件实现多图片上传和压缩
  • 原生js练习题---第五课
  • 云大使推广中的常见热门问题
  • 《TCP IP 详解卷1:协议》阅读笔记 - 第六章
  • 【云吞铺子】性能抖动剖析(二)
  • HanLP分词命名实体提取详解
  • ​油烟净化器电源安全,保障健康餐饮生活
  • ### Error querying database. Cause: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException
  • #VERDI# 关于如何查看FSM状态机的方法
  • (2/2) 为了理解 UWP 的启动流程,我从零开始创建了一个 UWP 程序
  • (done) ROC曲线 和 AUC值 分别是什么?
  • (Note)C++中的继承方式
  • (二)原生js案例之数码时钟计时
  • (附源码)springboot人体健康检测微信小程序 毕业设计 012142
  • (附源码)计算机毕业设计大学生兼职系统
  • (几何:六边形面积)编写程序,提示用户输入六边形的边长,然后显示它的面积。
  • (论文阅读30/100)Convolutional Pose Machines
  • (七)c52学习之旅-中断
  • (转)Scala的“=”符号简介
  • (转载)VS2010/MFC编程入门之三十四(菜单:VS2010菜单资源详解)
  • (转载)利用webkit抓取动态网页和链接
  • **PHP二维数组遍历时同时赋值
  • *p=a是把a的值赋给p,p=a是把a的地址赋给p。
  • ../depcomp: line 571: exec: g++: not found
  • .dwp和.webpart的区别
  • .NET 8 编写 LiteDB vs SQLite 数据库 CRUD 接口性能测试(准备篇)