美文网首页
2018-07-24

2018-07-24

作者: 一棵准备远行的树 | 来源:发表于2018-07-24 22:45 被阅读0次

    因为宿舍网络无法打开GitHub,暂存代码于此,之后会转移去GitHub。
    第一题:

    public class Solution {
    // you need treat n as an unsigned value
    public int reverseBits(int n) {
        if (n==0)return 0;
        
        int result=0;
        for(int i=0;i<32;i++){
            result<<=1;
            result+=n&1;
            n>>=1;
        }
        return result;
    }
    }
    

    第二题:

    class Solution {
    public int[] countBits(int num) {
        int[] a=new int [num+1];
        a[0]=0;
        if(num==0) return a;
        for(int i=0;i<=num;i++){
            int result=0;
            int p=i;
            for(int j=0;j<32;j++){
                if((p&1)==1){
                    result++;
                }
                p>>=1;
            }
            a[i]=result;
            
        }
        return a;
    }
    }
    

    第三题:
    参考的背包问题

    class Solution {
    public int findTargetSumWays(int[] nums, int S) {
        int sum=0;
        int n=0;
        for(int num:nums){
            sum=sum+num;
            n++;
        }
        if(sum<S||n==0){
            return 0;
        }
        int dif=sum-S;
        int[] a=new int[dif+1];
        a[0]=1;
        for (int i = 0; i < nums.length; i ++) {
            for (int d = dif; d >= nums[i] * 2; d --) {
                a[d] += a[d-nums[i]*2];
            }
        
        }
        return a[dif];
    }
    }

    相关文章

      网友评论

          本文标题:2018-07-24

          本文链接:https://www.haomeiwen.com/subject/mpbymftx.html