当前位置:网站首页>【LeetCode】136. 只出现一次的数字
【LeetCode】136. 只出现一次的数字
2022-08-09 04:55:00 【酥酥~】
题目
给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。
说明:
你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?
示例 1:
输入: [2,2,1]
输出: 1
示例 2:
输入: [4,1,2,1,2]
输出: 4
题解
排序,然后寻找
class Solution {
public:
int singleNumber(vector<int>& nums) {
int len = nums.size();
if(len==1)
return nums[0];
sort(nums.begin(),nums.end());
for(int i=1;i<len-1;i++)
if(nums[i]!=nums[i-1] && nums[i]!=nums[i+1])
return nums[i];
return nums[0] != nums[1] ? nums[0] : nums[len-1];
}
};
异或
1:任何数与自身异或都等于0
2:任何数与0异或都等于自身
class Solution {
public:
int singleNumber(vector<int>& nums) {
int cnt = 0;
for(int i:nums)
cnt ^= i;
return cnt;
}
};
边栏推荐
猜你喜欢
随机推荐
mysql内容不存在的报错
【学习笔记】AGC044
Masked AutoEncoder论文及实现
基于ABP和Magicodes实现Excel导出操作
【Harmony OS】【ArkUI】ets开发 基础页面布局与数据连接
【luogu U142356】勇者的后缀(SA)(主席树)(二分)
【HMS Core】【FAQ】【AR Engine】AR Engine FAQ
could not extract ResultSet; SQL [n/a]; nested exception is org.hibernate.exception.SQLGrammarExcept
JS-DOM-全局、局部、隐式变量,数组()\函数、 prompt输入对话框、confirm(确定用户的决定-弹出对话框)
2022 Security Officer-B Certificate Exam Practice Questions and Online Mock Exam
I.MX6U-ALPHA开发板(串口实验)
杰理之智能充电仓低电发码关机 触摸不开机【篇】
【暑期每日一题】洛谷 P5724 【深基4.习5】求极差 / 最大跨度值
Ridge regression and LASSO regression
力扣242-有效的字母异位词——哈希表法
什么是通用微处理器、单片机、DSP芯片、嵌入式系统?
【ITRA】2022年ITRA赛事注册流程 从0-1
leetcode:316. 去除重复字母
The influence law of genes for disease - read the paper
LN论文、五种归一化原理和实现