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

服装公司网站建设方案/软件开发平台

服装公司网站建设方案,软件开发平台,新手学网站建设解疑与技巧1200例,软件工程项目案例645. 错误的集合 - 力扣&#xff08;LeetCode&#xff09; 没有说数组是否是有序的。 一次遍历辅助数组&#xff0c;可以找到重复元素&#xff1b; 而丢失的元素通过数组元素和与本来的数组元素和(等差数列)可以计算出来。 class Solution { public:vector<int> find…

645. 错误的集合 - 力扣(LeetCode)
在这里插入图片描述

没有说数组是否是有序的。

一次遍历+辅助数组,可以找到重复元素;
而丢失的元素通过数组元素和与本来的数组元素和(等差数列)可以计算出来。

class Solution {
public:vector<int> findErrorNums(vector<int>& nums) {int n = nums.size();vector<int> flags(n+1, 0);int idx = 0, sum = 0;for(int i = 0; i < n; ++i){sum += nums[i];if(flags[nums[i]] == 0) flags[nums[i]] = 1;else idx = i;//nums[idx]为重复的元素}int val = sum - n*(n+1)/2;return {nums[idx], nums[idx] - val};}
};

时间复杂度和空间复杂度都是o(n)。或者直接计数,重复元素出现两次,丢失元素出现0次:

class Solution {
public:vector<int> findErrorNums(vector<int>& nums) {int n = nums.size();vector<int> flags(n+1, 0);int idx = 0, sum = 0;for(int i = 0; i < n; ++i)  ++flags[nums[i]];int dup, miss;for(int i = 1; i <= n; ++i){if(flags[i] == 0)   miss = i;else if(flags[i] == 2)  dup = i;}return {dup, miss};}
};

那是否有时间复杂度o(n),空间复杂度o(1)的方法呢?
在这里插入图片描述

class Solution {
public:vector<int> findErrorNums(vector<int>& nums) {int n = nums.size();int dup = -1, miss = -1;for(int i = 0; i < n; ++i){int v = abs(nums[i]);if(nums[v-1] < 0)//该数字已经出现过dup = v;else    nums[v-1] *= -1;//标记}for (int i = 0; i < n; ++i) {if (nums[i] > 0)    miss = i + 1;}return {dup, miss};}
};

还可以使用剑指 Offer 03. 数组中重复的数字_zj-CSDN博客里面原地置换的思路,可以寻找到重复的元素。有了重复元素之后,计算确实元素可以使用求和的方法,也可以使用上一种方法。

class Solution {
public:vector<int> findErrorNums(vector<int>& nums) {int n = nums.size();int sum = accumulate(nums.begin(), nums.end(), 0);int dup = -1;for(int i = 0; i < n; ++i){while(nums[i] != i+1){if(nums[i] == nums[nums[i]-1]){dup = nums[i];//找到重复元素break;}   swap(nums[i], nums[nums[i]-1]);//int tmp = nums[nums[i]-1];//nums[nums[i]-1] = nums[i];//nums[i] = tmp;}}int val = sum - n*(n+1)/2;//数学方法求缺失元素return {dup, dup-val};}
};
http://www.lbrq.cn/news/963973.html

相关文章:

  • 怎么样学做网站/百度指数有什么参考意义
  • 泰州做网站公司/排名优化服务
  • 免费营销型网站模版/百度seo排名软
  • 万州论坛网站建设/app拉新推广接单平台
  • 安装wordpress没有框架/seo的内容主要有哪些方面
  • wordpress真的好用吗/北京百度seo
  • 怎么在网站里做宣传/合肥瑶海区房价
  • 闵行广州网站建设公司/临沂seo建站
  • 广州市企业网站建设平台/sem竞价推广托管代运营公司
  • 长春火车站照片/百度指数免费添加
  • 用买的服务器 做网站/宁德seo培训
  • 宇讯网站建设/制作一个网站步骤
  • 石家庄网站如何制作/企业推广文案
  • 南通装饰网站建设/百度精准引流推广
  • 深圳企业网站建设服务哪家公司好/口碑营销的产品
  • 大型wordpress theme/seo引擎优化培训
  • 做设计去哪个网站找素材/seo推广方法集合
  • 石家庄工程造价信息网/宁波谷歌seo推广
  • 苏州网站的优化/百度快速收录网站
  • 雄安免费网站建设方案/网站百度不收录
  • 建设银行河北分行网站/优化营商环境个人心得
  • 网站 留言 以邮件形式/互联网营销专家
  • 上海网站设计成功柚v米科技/网络营销成功案例分析其成功原因
  • 书店网站建设设计方案/99个创意营销方案
  • 网站欢迎页面设计/迅雷磁力链bt磁力天堂
  • 重庆在线/廊坊关键词优化排名
  • 网站制作工作室专业公司/lpl赛区战绩
  • 公司的网站建设费用算什么费用/网站推广优化排名教程
  • 网站内容模板/阿里云域名注册官网网址
  • 疫情防控工作新闻发布会/双滦区seo整站排名
  • 40.限流规则
  • 铁路基础设施无人机巡检技术及管理平台
  • 零基础入门:用按键精灵实现视频自动操作(附完整脚本)
  • 求解偏微分方程的傅里叶积分解
  • 深入理解进程等待:wait的简化与waitpid的灵活性
  • MyBatis 之配置与映射核心要点解析