位运算-201. 数字范围按位与,137. 只出现一次的数字 II(总结此类)

给你两个整数 left 和 right ,表示区间 [left, right] ,返回此区间内所有数字 按位与 的结果(包含 left 、right 端点)。

示例 1:

输入:left = 5, right = 7 输出:4 示例 2:

输入:left = 0, right = 0 输出:0 示例 3:

输入:left = 1, right = 2147483647 输出:0

java 复制代码
class Solution {
    public int rangeBitwiseAnd(int left, int right) {
            int index=0;
            for(int i=0;i<32;i++){
                if((left==right))
                       break;
                left >>=1;
                right>>=1;
                index++;
            }
            return left <<=index;

    }
}
  1. 只出现一次的数字 II 已解答 中等 相关标签 相关企业 给你一个整数数组 nums ,除某个元素仅出现 一次 外,其余每个元素都恰出现 三次 。请你找出并返回那个只出现了一次的元素。

你必须设计并实现线性时间复杂度的算法且使用常数级空间来解决此问题。

示例 1:

输入:nums = [2,2,3,2] 输出:3

示例 2:

输入:nums = [0,1,0,1,0,1,99] 输出:99

java 复制代码
class Solution {
    public int singleNumber(int[] nums) {
       int[] arr=new int[32];
       for(int num:nums){
       for(int i=0;i<32;i++){
             arr[31-i] +=num &1;
             num >>=1;
       }
       }
       int end =0;
       for(int j=0;j<32;j++){
           arr[31-j] %=3;
          end |= arr[31-j]<<j;
         
       }
        return end;
    }
}
  1. 只出现一次的数字
    已解答
    简单
    相关标签
    相关企业
    给你一个 非空 整数数组 nums ,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。

你必须设计并实现线性时间复杂度的算法来解决此问题,且该算法只使用常量额外空间。

示例 1 :

输入:nums = [2,2,1]

输出:1

示例 2 :

输入:nums = [4,1,2,1,2]

输出:4

示例 3 :

输入:nums = [1]

输出:1

java 复制代码
class Solution {
    public int singleNumber(int[] nums) {
        int[] arr=new int[32];
        for(int num: nums){
            for(int i=0;i<32;i++){
                arr[31-i] +=num &1;
                num >>=1;
            }
        }
        int end =0;
        for(int j=0;j<32;j++){
            arr[31-j] %= 2;
           end |= arr[31-j] <<j;
        }
            return end;
    }
}
相关推荐
闻缺陷则喜何志丹2 天前
【状态机动态规划】3686. 稳定子序列的数量|1969
c++·算法·动态规划·力扣·状态机动态规划
闻缺陷则喜何志丹2 天前
【回文 字符串】3677 统计二进制回文数字的数目|2223
c++·算法·字符串·力扣·回文
苦藤新鸡3 天前
9.找到字符串中所有字母异位词
数据结构·c++·算法·力扣
闻缺陷则喜何志丹4 天前
【C++动态规划 状压dp】1879. 两个数组最小的异或值之和|2145
c++·算法·动态规划·力扣·数组·最小·动态规范
艾莉丝努力练剑4 天前
【优选算法必刷100题:专题五】(位运算算法)第033~38题:判断字符是否唯一、丢失的数字、两整数之和、只出现一次的数字 II、消失的两个数字
java·大数据·运维·c++·人工智能·算法·位运算
闻缺陷则喜何志丹4 天前
【图论 DFS 换根法】3772. 子图的最大得分|2235
c++·算法·深度优先·力扣·图论·换根法
苦藤新鸡5 天前
8.最长的无重复字符的子串
c++·力扣
好易学·数据结构5 天前
可视化图解算法77:零钱兑换(兑换零钱)
数据结构·算法·leetcode·动态规划·力扣·牛客网
橘颂TA5 天前
【剑斩OFFER】算法的暴力美学——力扣 844 题:比较含退格的字符串
数据结构·c++·算法·力扣·结构与算法
故事不长丨6 天前
C#数组深度解析:从基础语法到实战应用
开发语言·c#·数组·array