首页 > 其他 > 详细

leetcode刷题全纪录(持续更新)

时间:2016-12-14 22:05:53      阅读:209      评论:0      收藏:0      [点我收藏+]

338. Counting Bits

原题链接https://leetcode.com/problems/counting-bits/

自己的思路:Integer.bitCount()方法,但是原题并不推荐使用内嵌方法

bug free:遇到偶数时,其1的个数和该偶数除以2得到的数字的1的个数相同,遇到奇数时,其1的个数等于该奇数除以2得到的数字的1的个数再加1

public int[] countBits(int num) {
        int[] result = new int[num+1];
        for (int i=1;i<num+1;i++)
        result[i]=result[i>>1]+(i&1);
         return result;
    }

 413.Arithmetic Slices

题意:求一个数组中可以构成多少个等差数列

思路:参见http://blog.csdn.net/camellhf/article/details/52824234

 

 public int numberOfArithmeticSlices(int[] A) {
        int count = 0;
        int incre = 0;
        for (int i = 2; i<A.length;i++) {
            if(A[i] - A[i-1] == A[i-1]-A[i-2])
            count += ++incre;
            else
            incre=0;
        }
        return count;
    }

 

leetcode刷题全纪录(持续更新)

原文:http://www.cnblogs.com/amazingSybil/p/6180811.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!