Leetcode每日一题:56. I. 数组中数字出现的次数
本题想到了用异或去解 但是中间步骤没想到:
参照大佬解法:
相同的数异或为0,不同的异或为1。0和任何数异或等于这个数本身。
nums = [1,2,10,4,1,4,3,3]
a^a=0
a^0=a
abc=acb
a&(-a)=最低位为1的二进制(从又到左)
所有的异或结果得到sum=2^10=8
flag=-8&8=8
可分为两组,一组为与flag相与等于1的[10],另一组为0的[1,2,4,1,4,3,3]
组内异或分别得到【10】【2】
耗时竟然还这么高
vector<int> singleNumbers(vector<int> &nums)
{int len = nums.size();vector<int> res;if (len < 2)return res;int sum = 0;//得到异或结果,一个数与自己本身异或为0;sum必是两个不同数异或的结果for (int num : nums){sum ^= num;}//得到sum二进制为1的最低位int flag = (-sum) & sum;int res1 = 0, res2 = 0;for (int num : nums){if ((flag & num) == 0)//& 运算优先级低于 =={res1 ^= num;}else{res2 ^= num;}}res.push_back(res1);res.push_back(res2);return res;
}
Leetcode每日一题:56. I. 数组中数字出现的次数相关推荐
- leetcode:剑指 Offer 56 - I. 数组中数字出现的次数
故心故心故心故心小故冲啊 文章目录 题目 一.解法一:set(利用不重复特性) 二.解法二:lowbit(x)位运算 题目 一.解法一:set(利用不重复特性) /*** @param {number ...
- java二维数组数字数显次数_【每日一题】118.数组中数字出现的次数
关注我们获取更多计算机考研信息 ? 今日习题 在一个数组 nums 中除一个数字只出现一次之外,其他数字都出现了三次.请找出那个只出现一次的数字. 示例 1: 输入:nums = [3,4,3,3] ...
- 剑指Offer(第二版)面试题56:数组中数字出现的次数
(尊重劳动成果,转载请注明出处:http://blog.csdn.net/qq_25827845/article/details/73609133冷血之心的博客) 剑指Offer(第二版)面试题56: ...
- 剑指Offer - 面试题56 - I. 数组中数字出现的次数(异或,分组)
1. 题目 一个整型数组 nums 里除两个数字之外,其他数字都出现了两次.请写程序找出这两个只出现一次的数字. 要求时间复杂度是O(n),空间复杂度是O(1). 示例 1: 输入:nums = [4 ...
- 56 - II. 数组中数字出现的次数 II
2020-06-19 1.题目描述 在一个数组 nums 中除一个数字只出现一次之外,其他数字都出现了三次.请找出那个只出现一次的数字 2.解答 1.统计每个数出现的次数 2.将元素放入set中,进行 ...
- 【算法】剑指 Offer 56 - II. 数组中数字出现的次数 II 【重刷】
1.概述 在一个数组 nums 中除一个数字只出现一次之外,其他数字都出现了三次.请找出那个只出现一次的数字. 示例 1: 输入:nums = [3,4,3,3] 输出:4 示例 2: 输入:nums ...
- 56 - I. 数组中数字出现的次数
202–06-22 1.题目描述 一个整型数组 nums 里除两个数字之外,其他数字都出现了两次.请写程序找出这两个只出现一次的 数字.要求时间复杂度是O(n),空间复杂度是O(1). 2.题解 位运 ...
- 剑指offer 56 - 1.数组中数字出现的次数
一个整型数组 nums 里除两个数字之外,其他数字都出现了两次.请写程序找出这两个只出现一次的数字.要求时间复杂度是O(n),空间复杂度是O(1). 示例 1: 输入:nums = [4,1,4,6] ...
- 【算法】剑指 Offer 56 - I. 数组中数字出现的次数 【重刷】太难了
1.概述 一个整型数组 nums 里除两个数字之外,其他数字都出现了两次.请写程序找出这两个只出现一次的数字.要求时间复杂度是O(n),空间复杂度是O(1). 示例 1: 输入:nums = [4,1 ...
最新文章
- GifCam:最佳免费gif动画精细录制/剪辑软件
- c#可移动不规则窗体
- 【C++】C++类和对象
- python实训报告万能模板_实验报告总结万能模板
- 软件设计模式与体系结构(入门基础知识)
- Android基础之批量发送短信
- 基于Proteus学习单片机系列(五)——定时器实现电子表
- 多智能体强化学习入门
- python斐波那契螺旋线怎么画向日葵心,【脑洞题】飞蛾扑火曲线—— 斐波那契螺旋线...
- 【转】为什么需要异步
- windows 查看端口
- 综合布线测试仪的测试方法与标准
- 冷静分析:Opteron优势和潜在问题 (也是完全从网上copy的)
- 带你认识无线组网中的胖瘦AP以及组网场景,了解企业AP部署
- 擦,买到了伪劣的SD卡
- 前端笔记4 JS BOMDOM
- @synthesize与@dynamic
- 【Computer Graphics】直线方程及相关计算
- MPC算法学习(1)
- 三大逻辑推理。逻辑推理的基本规则