【Java笔试强训】day15编程题

编程题

查找输入整数二进制中1的个数

在这里插入图片描述

public class Main {
    
    
    public static void main(String[] args) {
    
    
        Scanner sc = new Scanner(System.in);
        while (sc.hasNextInt()) {
    
    
            int n = sc.nextInt();
            int count = 0;
            while(n!=0){
    
    
                if(n%2==1){
    
    
                    count++;
                }
                n = n/2;
            }
            System.out.println(count);
        }
    }
}

手套

在这里插入图片描述

@SuppressWarnings({
    
    "all"})
public class Main {
    
    
    public int findMinimum(int n, int[] left, int[] right) {
    
    
        // write code here
        int leftSum = 0;
        int rightSum = 0;
        int leftMin = Integer.MAX_VALUE;
        int rightMin = Integer.MAX_VALUE;
        int sum = 0;
        for (int i = 0; i < n; i++) {
    
    
            if (left[i] * right[i] == 0) {
    
    
                sum += left[i] + right[i];
            } else {
    
    
                leftSum += left[i];
                rightSum += right[i];
                if (leftMin > left[i]) {
    
    
                    leftMin = left[i];
                }
                if (rightMin > right[i]) {
    
    
                    rightMin = right[i];
                }
            }
        }
        int min = Math.min((leftSum - leftMin + 1), (rightSum - rightMin + 1));
        return sum + min + 1;
    }
}

猜你喜欢

转载自blog.csdn.net/weixin_61341342/article/details/129999320