本帖最后由 门文通 于 2013-3-6 01:05 编辑
- class San
- {
- public static void main(String[] args)
- {
- int[] arr=new int[]{4,6,7,2,5,3,9,3,3,3,9,0,2};//定义随意数组
- int m=san(arr);
- System.out.println("Hello World!.........."+m);
- }
- public static int san(int[] arr)
- {
- for(int x=0;x<arr.length;x++)
- {
- if(arr[x]<0 || arr[x]>9)//判断是否为0-9之间 单位数最多到999 不是则返回1000
- return 1000;
- }
- int n=0;
- int[] a=new int[10];
- for(int y=0;y<10;y++)
- {
- for(int x=0;x<arr.length;x++)
- {
- if(arr[x]==y)
- n++;//对数组中每个数字的个数计数 并存到另一个数组
-
- }System.out.print(n);
- a[y]=n;
- n=0;
-
- }
- int m=arr.length;
- for(int x=0;x<10;x++)//去除数组中重复元素后的剩余个数
- {
- if(a[x]!=0)
- m=m-a[x]+1;
-
- }
- if(a[0]==0)
- return m*m*m;
- else
- return m*(m-1)*m;
-
-
- }
- }
复制代码 刚写的 作用是 把任意个0-9之间的int型数字 任意组合三位数 有多少
思想是 三位数,最高位不能为0 ,其他位置可以是0-9的数字,我先吧数组中0-9 不重复的个数求出来
如是7个数 如果包涵0 那结果就是6*7*7 如果没有0 就是7*7*7 |