【C++初阶】新手值得一做vector的oj题

在这里插入图片描述

👦个人主页:@Weraphael
✍🏻作者简介:目前学习C++和算法
✈️专栏:C++航路
🐋 希望大家多多支持,咱一起进步!😁
如果文章对你有帮助的话
欢迎 评论💬 点赞👍🏻 收藏 📂 加关注✨


目录

  • 一、只出现一次的数字
  • 二、删除有序数组中的重复项
  • 三、只出现一次的数字 III
  • 四、数组中出现次数超过一半的数字

一、只出现一次的数字

题目链接:点击跳转

在这里插入图片描述

思路:

  1. 相同的两个数异或^结果为00 ^ 任何数 = 任何数

  2. 将所有数据进行异或,最后剩下的就是只出现一次的数。

class Solution {
public:int singleNumber(vector<int>& nums) {int  val = 0;for (auto x : nums){val ^= x;}return val;}
};

二、删除有序数组中的重复项

题目链接:点击跳转

在这里插入图片描述

class Solution {
public:// 思路:相邻两个元素之间比较即可int removeDuplicates(vector<int>& nums) {vector<int>::iterator it = nums.begin() + 1;while (it != nums.end()){if (*(it - 1) == *it){// 删除后it会自动指向删除元素的下一个元素// 因此不需要++it = nums.erase(it);}else{++it;}}return nums.size();}
};

三、只出现一次的数字 III

题目链接

在这里插入图片描述

  • 法一:哈希表
class Solution {
public:// 法一:哈希表vector<int> singleNumber(vector<int>& nums) {unordered_map<int, int> heap;for (auto e : nums){heap[e]++;}vector<int> ans;for (auto e : nums){if (heap[e] == 1){ans.push_back(e);}}return ans;}
};
  • 法二:位运算^

详细请看这篇文章:点击跳转

四、数组中出现次数超过一半的数字

题目链接:点击跳转

在这里插入图片描述

#include <climits>
class Solution {
public:// 思路:哈希表int MoreThanHalfNum_Solution(vector<int>& numbers) {unordered_map<int, int> heap;for (auto e : numbers){heap[e]++;}for (auto e : numbers){if (heap[e] > numbers.size() / 2){return e;}}return {};}
};

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

<网络安全>《35 网络攻防专业课<第一课 - 网络攻防准备>》

1 主要内容 认识黑客 认识端口 常见术语与命令 网络攻击流程 VMWare虚拟环境靶机搭建 2 认识黑客 2.1 白帽、灰帽和黑帽黑客 白帽黑客是指有能力破坏电脑安全但不具恶意目的黑客。 灰帽黑客是指对于伦理和法律态度不明的黑客。 黑帽黑客经常用于区别于一般&#xff08;正面…

Android稳定性相关知识

关于作者&#xff1a;CSDN内容合伙人、技术专家&#xff0c; 从零开始做日活千万级APP。 专注于分享各领域原创系列文章 &#xff0c;擅长java后端、移动开发、商业变现、人工智能等&#xff0c;希望大家多多支持。 目录 一、导读二、概览三、相关方法论3.1 crash3.2 性能3.3 高…

大模型训练中优化策略(数据并行、模型并行、ZeRO等)

在微调时&#xff0c;模型显存占用主要包括模型参数、参数梯度、优化器和中间结果四个部分。 对于一个 6B 参数量的模型&#xff0c;它的模型参数占用为&#xff1a; 将模型参数视为基准&#xff0c;模型梯度占用量与模型参数相同。 优化器主采用 Adam Optimizer &#xff0c…

OpenGL学习——14.投光物_点光源

前情提要&#xff1a;本文代码源自Github上的学习文档“LearnOpenGL”&#xff0c;我仅在源码的基础上加上中文注释。本文章不以该学习文档做任何商业盈利活动&#xff0c;一切著作权归原作者所有&#xff0c;本文仅供学习交流&#xff0c;如有侵权&#xff0c;请联系我删除。L…

SaaS(软件即服务)是什么,在中国有发展?

SaaS&#xff08;Software as a Service&#xff0c;软件即服务&#xff09;是一种基于互联网的软件交付模式&#xff0c;用户通过互联网访问和使用软件&#xff0c;而无需在本地安装和维护软件。这种模式通常以订阅的形式提供&#xff0c;用户按照一定的周期支付费用&#xff…

K8s进阶之路-Pod的生命周期

Pod创建过程&#xff1a; 首先创建一个pod&#xff0c;然后创建一个API Server 和 Etcd【把创建出来的信息存储在etcd中】 然后创建 Scheduler&#xff0c;监控API Server是否有新的Pod&#xff0c;如果有的话&#xff0c;会通过调度算法&#xff0c;把pod调度某个node上 在nod…

C++之Easyx——图形库的基本准备工作

什么是Easyx&#xff1f; EasyX Graphics Library 是针对 Visual C 的免费绘图库&#xff0c;支持 VC6.0 ~ VC2022&#xff0c;简单易用&#xff0c;学习成本极低&#xff0c;应用领域广泛。目前已有许多大学将 EasyX 应用在教学当中。 它比Red PandaDev C上的图形库功能要强…

浅谈iPaaS对企业转型的重要性

面对数字化转型的大浪潮&#xff0c;众多企业都期望着能快速实现全面的数字化转型&#xff0c;让企业在日益激烈的竞争中拥有更稳的市场地位&#xff0c;提升自身的实力及能力&#xff0c;奠定更坚实的基底。但在数字化转型过程中&#xff0c;部分企业数字化基础水平较薄弱&…

云手机在引流方面有什么优势?

对于电商商家而言&#xff0c;无论是在亚马逊还是其他平台&#xff0c;有效的流量来源主要集中在短视频引流和社交电商营销。要在新兴社交平台为企业电商带来更多流量&#xff0c;不可忽视云手机的关键作用和独特优势。 云手机的定义与作用 在经营TikTok、Facebook和INS账号时&…

网络原理 - HTTP/HTTPS(1)

HTTP HTTP是什么 HTTP("全程超文本协议")是一种应用非常广泛的应用层协议. 文本:字符串(能在utf8/gbk)码表上找到合法字符. 超文本:不仅是字符串,还能携带图片啥的(HTML). 富文本:类似于word文档这种. HTTP诞生于1991年.目前已经发展为最主流使用的一种应用层协议.…

中国社科院与英国斯特灵大学创新与领导力博士—应该怎样选专业

现如今其实有很多人感觉只是平台成就自己&#xff0c;离开平台自己并无一技之长或过人之处。但是又不想如此安稳过日&#xff0c;一直终老。所以现在大多数人都会去想在职读个博士。 基本上都是在职博士专业为那些希望边工作边获得博士学位的在在职人员开设的&#xff0c;那么&…

Vue3+Vite+TS+Pinia+ElementPlus+Router+Axios创建项目

目录 初始项目组成1. 创建项目1.1 下载项目依赖1.2 项目自动启动1.3 src 别名设置vite.config.ts配置文件tsconfig.json配置若新创项目ts提示 1.4 运行测试 2. 清除默认样式2.1 样式清除代码下载2.2 src下创建公共样式文件夹style2.3 main.js中引入样式2.4 安装sass解析插件 2.…