Java判断是否有连数,比如12,13,14
java怎样判断任意10个数中不存在任意3个数是连数?
[解决办法]
没感觉很难实现啊,除非你还追求什么超高效啥的,你是打算直接求现成代码啊还是算法啊?
先把这10个数字排个顺序,接下来就简单了吧?
设个阈值器,从头遍历到尾,当前的是上一个的连续数的就阈值+1,此时阈值==2就说明满足要求了;不是连续数就立即清0。
[解决办法]
public class FindSeq { private int[] arr = null; private int length = 0; public FindSeq(int [] arr){ this.arr = arr; this.length = arr.length; } /** * @param args */ public static void main(String[] args) { FindSeq findSeq = new FindSeq(new int[] {1,3,3,12,2}); findSeq.find3Seq(); } public void find3Seq(){ int index = 0; boolean has = false; while(index < length - 2){ if(find3Seq(index)){ has = true; break; }else{ index += 3; } } System.out.print(has); } private boolean find3Seq(int index){ return arr[index] + 1 == arr[index + 1] && arr[index + 1] + 1 == arr[index + 2]; }}
[解决办法]
晕,while里的else应该写
index++
才对
[解决办法]
怎么说LZ才好呢,需要找出是否是连数,就像楼上一些大神说的一样,你直接来个冒泡排序,小到大或者大到小都可以,然后最后循环排序后的数组,比较不就可以了么!
[解决办法]
楼主的意思...
345859632
假如这一串数字
其中连续的数有3、4、5 和 58、59
[解决办法]
先排序倒是真的,然后就好办咯,哈哈!天才