找出字符串中只出现一次的两个数
2019-03-30 23:17
58 查看
只出现一次的数字3(力扣)
给定一个整数数组
nums,其中恰好有两个元素只出现一次,其余所有元素均出现两次。 找出只出现一次的那两个元素。
输入:
[1,2,1,3,2,5]输出:
[3,5]
#include<iostream> #include<vector> using namespace std; vector<int> singleNumber(vector<int>& nums) { int val=0; for(auto& e : nums) { val^=e; } int i=0; for(i=0;i<32;i++) { if((val>>i)&1==1) //找到1的位置 { break; } } int m=0,n=0; vector<int> ret; for(int j=0;j<nums.size();j++) { if((nums[j]>>i&1)==1) { m^=nums[j]; } else { n^=nums[j]; } } ret.push_back(m); ret.push_back(n); return ret; } int main() { vector<int> v; vector<int> vv; v.push_back(1); v.push_back(1); v.push_back(2); v.push_back(2); v.push_back(5); v.push_back(6); vv=singleNumber(v); for(auto& s : vv) { cout<<s<<" "; } cout<<endl; return 0; }
相关文章推荐
- 程序员面试100题之34找出数组中两个只出现一次的数字
- 在一个数组中找出只出现一次的两个数字,其余数字全部成对出现。
- 【C语言】给一组组数,仅仅有两个数仅仅出现了一次,其它全部数都是成对出现的,找出这两个数。
- C语言:在字符串中找出第一个只出现一次的字符。如输入“abaccdeff”,则输出'b'
- 【华为oj】找出字符串中第一个只出现一次的字符
- 请实现一个函数用来找出字符流中第一个只出现一次的字符。例如,当从字符流中只读出前两个字符"go"时,第一个只出现一次的字符是"g"。当从该字符流中读出前六个字符“google"时,第一个只出现一次的字符是"l"。
- 找出字符串中第一个只出现一次的字符
- 找出字符串中第一个只出现一次的字符——来自华为OJ平台测试基础篇
- 找出字符串中第一个只出现一次的字符
- 位运算-Single Number III(只有两个不同的数字出现了一次,其余出现了两次,找出这两个数)
- 九度 找出两个只出现了一次的数字
- 找出数组中只出现一次的两个数字
- 一个数组中只有两个数字是出现一次,其他所有数字都出现了两次。找出这两个数字,编程实现。
- [数组]找出数组中两个只出现一次的数字
- 找出一个字符串中第一个只出现一次的字符
- 程序员面试100题(算法)之找出数组中两个只出现一次的数字(位运算实现)
- 一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。
- 找出数组中两个只出现一次的数字--分组异或
- 61.找出数组中两个只出现一次的数字
- 华为OJ 初级:找出字符串中第一个只出现一次的字符