AND and OR

https://www.lintcode.com/problem/and-and-or/description

public class Solution {
    /**
     * @param n:
     * @param nums:
     * @return: return the sum of maximum OR sum, minimum OR sum, maximum AND sum, minimum AND sum.
     */
    public long getSum(int n, int[] nums) {
        // write your code here
        int maxOr = nums[0];
        int maxAnd = nums[0];
        int minOr = nums[0];
        int minAnd = nums[0];
        for (int i = 1; i < n; i++) {
            maxOr |= nums[i];
            maxAnd = Math.max(maxAnd, nums[i]);
            minOr = Math.min(minOr, nums[i]);
            minAnd &= nums[i];
        }
        return (long) maxOr + maxAnd + minAnd + minOr;
    }
}

你可能感兴趣的:(AND and OR)