2020-06-19

1.题目描述

在一个数组 nums 中除一个数字只出现一次之外,其他数字都出现了三次。请找出那个只出现一次的数字

2.解答

1.统计每个数出现的次数
2.将元素放入set中,进行计算,在求和的时候为避免溢出,要用long long int
3.位运算,对于每一位而言,统计所有数该位为1的数的个数,如果不是3的倍数,表明结果在该位上为1.

3.代码

class Solution {public:int singleNumber(vector<int>& nums) {int len=nums.size();map<int,int> mymap;for (int i=0;i<len;i++) mymap[nums[i]]=0;for (int i=0;i<len;i++) mymap[nums[i]]++;for (map<int,int>::iterator it=mymap.begin();it!=mymap.end();it++){if (it->second==1) return it->first;}return -1;}
};
class Solution {public:int singleNumber(vector<int>& nums) {int len=nums.size();set<int> myset;int s1=0;for (int i=0;i<len;i++){myset.insert(nums[i]);s1+=nums[i];}int s2=0;for (set<int>::iterator it=myset.begin();it!=myset.end();it++) s2+=*it;return (s2*3-s1)/2;}
};
class Solution {public:int singleNumber(vector<int>& nums) {int len=nums.size();int it,res=0;for (int i=0;i<32;i++){it=1;it=it<<i;int cnt=0;for (int j=0;j<len;j++){if (nums[j]&it) cnt++;}if (cnt%3!=0){res|=it;}}return res;}
};

56 - II. 数组中数字出现的次数 II相关推荐

  1. 【算法】剑指 Offer 56 - II. 数组中数字出现的次数 II 【重刷】

    1.概述 在一个数组 nums 中除一个数字只出现一次之外,其他数字都出现了三次.请找出那个只出现一次的数字. 示例 1: 输入:nums = [3,4,3,3] 输出:4 示例 2: 输入:nums ...

  2. 剑指Offer(第二版)面试题56:数组中数字出现的次数

    (尊重劳动成果,转载请注明出处:http://blog.csdn.net/qq_25827845/article/details/73609133冷血之心的博客) 剑指Offer(第二版)面试题56: ...

  3. leetcode:剑指 Offer 56 - I. 数组中数字出现的次数

    故心故心故心故心小故冲啊 文章目录 题目 一.解法一:set(利用不重复特性) 二.解法二:lowbit(x)位运算 题目 一.解法一:set(利用不重复特性) /*** @param {number ...

  4. 【剑指offer】面试题56 - II:数组中数字出现的次数 II(Java)

    在一个数组 nums 中除一个数字只出现一次之外,其他数字都出现了三次.请找出那个只出现一次的数字. 示例 1: 输入:nums = [3,4,3,3] 输出:4 示例 2: 输入:nums = [9 ...

  5. 剑指Offer - 面试题56 - I. 数组中数字出现的次数(异或,分组)

    1. 题目 一个整型数组 nums 里除两个数字之外,其他数字都出现了两次.请写程序找出这两个只出现一次的数字. 要求时间复杂度是O(n),空间复杂度是O(1). 示例 1: 输入:nums = [4 ...

  6. 56 - I. 数组中数字出现的次数

    202–06-22 1.题目描述 一个整型数组 nums 里除两个数字之外,其他数字都出现了两次.请写程序找出这两个只出现一次的 数字.要求时间复杂度是O(n),空间复杂度是O(1). 2.题解 位运 ...

  7. 剑指offer 56 - 1.数组中数字出现的次数

    一个整型数组 nums 里除两个数字之外,其他数字都出现了两次.请写程序找出这两个只出现一次的数字.要求时间复杂度是O(n),空间复杂度是O(1). 示例 1: 输入:nums = [4,1,4,6] ...

  8. 【算法】剑指 Offer 56 - I. 数组中数字出现的次数 【重刷】太难了

    1.概述 一个整型数组 nums 里除两个数字之外,其他数字都出现了两次.请写程序找出这两个只出现一次的数字.要求时间复杂度是O(n),空间复杂度是O(1). 示例 1: 输入:nums = [4,1 ...

  9. 面试题56 - I. 数组中数字出现的次数

    复杂度分析 时间复杂度:O(n),我们只需要遍历数组两次. 空间复杂度:O(1),只需要常数的空间存放若干变量. 看面试官复杂度要求 相关题目:https://blog.csdn.net/INGNIG ...

最新文章

  1. GridView 实现服务器端和客户端全选的两种方法
  2. 如何将命令行参数传递给Node.js程序?
  3. android 安装环境及入门
  4. @Autowired与@Resource的区别
  5. Mysql创建修改删除-表
  6. Python可视化中的Matplotlib绘图(1.画图,网格,子图,画正余弦图,坐标轴界限,画圆,)
  7. 使用字符串解析的方式完成计算器的设计思路
  8. 机器学习算法总结--提升方法
  9. 在斯坦福,做 Manning 的 phd 要有多强?
  10. 振铃效应与样点自适应补偿(Sample Adaptive Offset,SAO)技术
  11. 资江小票打印机js实现web打印(web通用打印)
  12. 51单片机驱动TM1640实现多个LED灯控制
  13. IBM人工智能项目Watson旧金山开设新总部
  14. Python之仓库管理系统
  15. PDF虚拟打印机使用教程(附PDF虚拟打印机下载)
  16. 照片放大后怎么变清晰?
  17. SuperMemo POJ - 3580
  18. [CVPR2021]pi-GAN: Periodic Implicit Generative Adversarial Networks for 3D-Aware Image Synthesis
  19. P3437 [POI2006]TET-Tetris 3D
  20. 云服务器可以通过远程打游戏吗,云主机能玩游戏吗_云主机安全防护措施

热门文章

  1. Nature | IL-27直接靶向脂肪细胞以促进产热而改善肥胖
  2. 用了都说好的SCI在线绘图工具来了~~~~~~~
  3. 两篇Science文章揭示癌症治疗中细胞感应氧气的新机制
  4. 文章用图的修改和排版 (一)
  5. AE物体表面跟踪特效合成高级插件:Lockdown for Mac 支持ae2021
  6. AnyTrans使用教程:将照片从 Mac 传输到 iPhone 的方法
  7. springboot jwt token前后端分离_7个开源的 Spring Boot 前后端分离项目,一定要收藏!...
  8. thinkphp跨库操作代码实例
  9. python3类的继承详解_python3 多重继承机制
  10. 【全网最全】一文搞定 Linux 压缩、解压哪些事儿