求一个计算连续数字的算法(Java语言)

苍老的岁月 2018-07-26 04:54:46
事例如下:
第一组:
1 1
1 1
2 2
2 2
5 3
5 3
6 4
8 5
第二组:
1 1
1 1
2 2
3 3
5 4
6 5
6 5
9 6
实现上面两个例子中第一列不连续的数字转换成第二列连续的数字(有疑问可沟通):
...全文
400 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
silence_hw 2018-07-26
  • 打赏
  • 举报
回复
引用 3 楼 silence_hw 的回复:
package com.hw.demo;

public class Sort {

    public static void main(String[] args) {
        int[] arr = {1,1,2,3,4,5,5,6};
        mySort(arr);
    }

    public static void mySort(int[] nums){
        int count = 1;
        for (int i = 0; i < nums.length; ) {
            int x = 0;
            for (int j = i; j < nums.length; j++) {
                if(nums[i] == nums[j]){
                    x++;
                    System.out.println(count);
                }else{
                    break;
                }
            }
            i += x;
            count++;
        }
    }
}
不好意思哈,数组里的值带错了,换一下就好
silence_hw 2018-07-26
  • 打赏
  • 举报
回复
package com.hw.demo;

public class Sort {

    public static void main(String[] args) {
        int[] arr = {1,1,2,3,4,5,5,6};
        mySort(arr);
    }

    public static void mySort(int[] nums){
        int count = 1;
        for (int i = 0; i < nums.length; ) {
            int x = 0;
            for (int j = i; j < nums.length; j++) {
                if(nums[i] == nums[j]){
                    x++;
                    System.out.println(count);
                }else{
                    break;
                }
            }
            i += x;
            count++;
        }
    }
}
silence_hw 2018-07-26
  • 打赏
  • 举报
回复
package com.hw.demo; public class Sort { public static void main(String[] args) { int[] arr = {1,1,2,3,4,5,5,6}; mySort(arr); } public static void mySort(int[] nums){ int count = 1; for (int i = 0; i < nums.length; ) { int x = 0; for (int j = i; j < nums.length; j++) { if(nums[i] == nums[j]){ x++; System.out.println(count); }else{ break; } } i += x; count++; } } }
stacksoverflow 2018-07-26
  • 打赏
  • 举报
回复


package test;

public class Test {

public static int[] convert(int[] input) {

int[] output = new int[input.length];

int pre = input[0];
int next = input[0];

for(int i = 0; i < input.length; i ++) {

if(input[i] != pre) {
pre = input[i];
next ++;
}
output[i] = next;
}

return output;
}

public static void main(String[] args) {
print(convert(new int[] {1,1,2,2,5,5,6,8}));
print(convert(new int[] {1,1,2,3,5,6,6,9}));
}

public static void print(int [] input) {
for(int i:input) {
System.out.print(i + ",");
}
System.out.println();
}
}

62,616

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧