本文最后更新于:星期四, 六月 18日 2020, 9:01 上午

java语言实现:
定义一个长度为10的int数组并全部赋值为0,对x用while循环求模,并将所得的模作为元素的下标,并将1赋值给该元素,那么下一次循环遇到有元素的下标不为0的时候,说明正好遇到了重复元素,那么出现了重复的数字

public class MainTest {
    public static void main(String args[]) throws Exception {
        checkRepeated(4564);
    }

    private static void checkRepeated(int x){
        //初始化一个长度为10的数组并遍历赋值为0;
        int[] a=new int[10];
        for (int i:a){
            i=0;
        }

        while (x>0){
            int tmp=x%10;
            //如果该元素的值是0,说明正常。
            if (a[tmp]==0){
                a[tmp]=1;
            }else {
             //如果该元素的值不是0,说明之前在同样的数组下标的地
            //方改变了元素的值,也就是出现了同样的模,就是出现了相同的数字。    
                System.out.println("有相同的数字出现");
                break;
            }
            //除以十,从个位开始一位一位往前排查
            x=x/10;
        }
        if (x<=0){
            System.out.println("没有相同的数字出现");
        }
    }
}


算法     

本博客所有文章除特别声明外,均采用 CC BY-SA 3.0协议 。转载请注明出处!

方法(函数)中传入的参数有新的内存地址 上一篇
常量 下一篇