100166. 检查按位或是否存在尾随零 --力扣 --JAVA

发布时间:2023年12月31日

题目

给你一个?正整数?数组?nums?。

你需要检查是否可以从数组中选出?两个或更多?元素,满足这些元素的按位或运算(?OR)结果的二进制表示中?至少?存在一个尾随零。

例如,数字?5?的二进制表示是?"101",不存在尾随零,而数字?4?的二进制表示是?"100",存在两个尾随零。

如果可以选择两个或更多元素,其按位或运算结果存在尾随零,返回?true;否则,返回?false?。

解题思路

  1. 双层循环,获取每两个元素组合后的结果;
  2. 奇数的二进制表示一定不存在尾随零,而偶数一定存在尾随零;
  3. 判断获得结果是否为偶数,是则直接返回true。

代码展示

class Solution {
    public boolean hasTrailingZeros(int[] nums) {
        int len = nums.length;
        for(int i = 0; i < len; i++){
            for(int j = i +1; j < len; j++){
                int temp = nums[i] | nums[j];
                if(temp % 2 == 0){
                    return true;
                }
            }
        }
        return false;
    }
}

文章来源:https://blog.csdn.net/qq_45794129/article/details/135318070
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。