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

C++速通LeetCode简单第19题-只出现一次的数字

方法一:暴力求解,排序后两个两个比较,两者不同时前者为答案:

class Solution {
public:int singleNumber(vector<int>& nums) {if(nums.size() == 1) return nums[0];list<int> l;int ans = 0;for(int i = 0;i< nums.size();i++){l.push_back(nums[i]);}l.sort();l.push_back(-1);//最后添加一个凑双数比较for(list<int>::iterator it = l.begin();it != l.end();it++){if(*it!=*(++it)){ans = *(--it);it++;return ans;}}return ans;}
};

 方法二:技巧解法,所有数进行异或运算,结果就是答案

异或运算的概念:

 异或运算的特点:

class Solution {
public:int singleNumber(vector<int>& nums) {int ans = 0;for(int i = 0;i < nums.size();i++){ans ^= nums[i];//异或运算^=}return ans;}
};

 

http://www.lryc.cn/news/440812.html

相关文章:

  • AutoSar AP中Proxy Class中Methods描述的总结
  • 如何在本地计算机中打开远程服务器的Jupyter notebook
  • 实习项目|苍穹外卖|day11
  • easy_cloudantivirus
  • python中Web API 框架
  • Linux(6)--CentOS目录
  • 标准C++(二)
  • 硬件工程师笔试面试——保险丝
  • 本地安装Ollama+WebUI
  • 请求响应-05.请求-日期参数JSON参数
  • CSS学习路线
  • Linux memcg lru lock提升锁性能
  • 【spring】引入 Jackson 依赖 对java对象序列号和反序列化
  • 算法面经手撕系列(3)--手撕LayerNormlization
  • 出厂非澎湃OS手机解BL锁
  • Go语言错误处理之道:优雅地应对程序中的问题
  • LIMS实验室管理系统的特点
  • vue之 package.json和package-lock.json
  • android 老项目中用到的jar包不存在,通过离线的方法加载
  • 每天五分钟玩转深度学习框架PyTorch:梯度下降之学习率衰减
  • 智能家居配上高颜值UI,瞬间感觉消费不起了呢
  • Winform登录实现及工具栏切换
  • Git bash使用
  • Java入门程序-HelloWorld
  • 计算机人工智能前沿进展-大语言模型方向-2024-09-12
  • Android MediaPlayer + GLSurfaceView 播放视频
  • gitee远程仓库OPEN GIT BASH HERE从错误中学习
  • 如何查看当前系统中所有具有sudo权限的用户?
  • 在线制作PPT组织架构图!这个AI工具简单又好用!
  • Mysql 视图存储过程触发器