博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
剑指 Offer 56 - II. 数组中数字出现的次数 II
阅读量:4035 次
发布时间:2019-05-24

本文共 747 字,大约阅读时间需要 2 分钟。

题目描述

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

示例 1:

输入:nums = [3,4,3,3]

输出:4
示例 2:

输入:nums = [9,1,7,9,7,9,7]

输出:1

限制:

1 <= nums.length <= 10000

1 <= nums[i] < 2^31

来源:力扣(LeetCode)

链接:https://leetcode-cn.com/problems/shu-zu-zhong-shu-zi-chu-xian-de-ci-shu-ii-lcof
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

Java

思路:
如果一个数字出现三次,那么它的二进制表示的每一位都加起来,如果某一位和可以被3整除,那么那个只出现一次的二进制表示中对应的那一位是0否则是1;

class Solution {
public int singleNumber(int[] nums) {
int [] bitsum=new int[32]; for(int i=0;i
>j&1)==1 ? 1:0; } } int res=0; for(int k=31;k>=0;k--){
res=res<<1; if(bitsum[k]%3==1){
res |= 1; } } return res; } }
你可能感兴趣的文章
MPMoviePlayerViewController和MPMoviePlayerController的使用
查看>>
CocoaPods实践之制作篇
查看>>
[Mac]Mac 操作系统 常见技巧
查看>>
苹果Swift编程语言入门教程【中文版】
查看>>
捕鱼忍者(ninja fishing)之游戏指南+游戏攻略+游戏体验
查看>>
iphone开发基础之objective-c学习
查看>>
iphone开发之SDK研究(待续)
查看>>
计算机网络复习要点
查看>>
Variable property attributes or Modifiers in iOS
查看>>
NSNotificationCenter 用法总结
查看>>
C primer plus 基础总结(一)
查看>>
剑指offer算法题分析与整理(一)
查看>>
剑指offer算法题分析与整理(三)
查看>>
Ubuntu 13.10使用fcitx输入法
查看>>
pidgin-lwqq 安装
查看>>
mint/ubuntu安装搜狗输入法
查看>>
C++动态申请数组和参数传递问题
查看>>
opencv学习——在MFC中读取和显示图像
查看>>
retext出现Could not parse file contents, check if you have the necessary module installed解决方案
查看>>
pyQt不同窗体间的值传递(一)——对话框关闭时返回值给主窗口
查看>>