码迷,mamicode.com
首页 > 其他好文 > 详细

扑克牌顺子 44

时间:2015-03-27 23:42:44      阅读:145      评论:0      收藏:0      [点我收藏+]

标签:

转换为看一个排序数组中0多还是间隔的数字多的问题

? ?

先排序

? ?

然后遍历统计数组中0的个数

? ?

可以把等于0放到for循环条件里

? ?

减少遍历次数

? ?

然后从第一个不为0index开始,比较相邻两个之间的差距

? ?

然后实现往后移index1=index2index2++
?

package isContinuous44;

? ?

import java.util.Arrays;

? ?

public class IsContinuous44 {

static boolean isContinuous(int[] array){

Arrays.sort(array);

int numOf0=0;

int numOfDif=0;

//????????????????for(int i=0;i<array.length;i++){

//????????????????????????if(array[i]==0) numOf0++;

//????????????????}

//improve

for(int i=0;i<array.length&&array[i]==0;i++){

numOf0++;

}

int index1=numOf0;

int index2=index1+1;

while (index2<array.length) {

if (array[index1]==array[index2]) {

return false;

}

numOfDif+=array[index2]-array[index1]-1;

index1=index2;

index2++;

}

return (numOf0>numOfDif?true:false);

? ?

}

public static void main(String[] args) {

// TODO Auto-generated method stub

int[] array={0,4,6,0,7,8,10};

System.out.println(isContinuous(array));

}

? ?

}

扑克牌顺子 44

标签:

原文地址:http://www.cnblogs.com/keedor/p/4373014.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!