zoukankan      html  css  js  c++  java
  • 打印出所有每一位都与其他位不重复的自然数

     1 package com.zl.jvm;
     2 
     3 import java.util.ArrayList;
     4 
     5 public class TestSet {
     6 
     7     
     8     public static void main(String[] args) {
     9 
    10         //ArrayList<String> s2 = new ArrayList<>();
    11 
    12         char[] a = { '0', '1', '2', '3', '4','5','6','7','8','9' };
    13         //先插入1位不重复的排出0
    14         ArrayList<String> first  = new ArrayList<>();
    15         first.add("1");
    16         first.add("2");
    17         first.add("3");
    18         first.add("4");
    19         first.add("5");
    20         first.add("6");
    21         first.add("7");
    22         first.add("8");
    23         first.add("9");
    24 
    25     /*    for (int i = 0; i < a.length; i++) {
    26             char temp1 = a[i];
    27 
    28             if ('0' == temp1) {
    29                 continue;
    30             }
    31             for (int j = 0; j < a.length; j++) {
    32                 char temp2 = a[j];
    33 
    34                 if (temp1 == temp2) {
    35                     continue;
    36                 }
    37 
    38                 s2.add("" + temp1 + temp2);
    39 
    40             }
    41         }*/
    42         
    43         //计算出0-9组成2位长度 每一位不重复自然数 例:12 13
    44         //11这种 算重复
    45         ArrayList<String> s = wei(first,a,2); 
    46         System.out.println(s.size());
    47 
    48     }
    49     
    50     public static ArrayList<String> wei(ArrayList<String>s,char[] a,int count) {
    51         
    52         ArrayList<String> s3 = new ArrayList<>();
    53         
    54         if(count>1) {
    55             count-=1;
    56             for (int i = 0; i < s.size(); i++) {
    57                 StringBuilder sb = new StringBuilder();
    58                 String temp = s.get(i);
    59                 sb.append(temp);
    60                 char[] chars2 = temp.toCharArray();
    61                 for (int j = 0; j < a.length; j++) {
    62                     if(check(chars2,a[j])) {
    63                         s3.add(sb.toString() + a[j]);
    64                     }
    65                     
    66                 }
    67 
    68             }
    69             return wei(s3,a,count);
    70         }
    71         return s;
    72     }
    73     
    74 
    75     //判断是否每一位和要组合的数字是否重复
    76     private static boolean check( char[] ch,char temp) {
    77         for (int z = 0; z < ch.length; z++) {
    78             if (ch[z] == temp) {
    79                 return false;
    80             }
    81         }
    82         return true;
    83     }
    84 }
  • 相关阅读:
    六、Doris数据流与控制流
    五、Doris数据分布
    非洛达芯片检测聚合教程NOT AIROHA CHIP
    慧联A8最新检测使用教程V2.0.3
    SpringBoot集成thymeleaf增删改查示例
    记一次Linux磁盘满盘/dev/vda1目录清理记录
    悦虎固件升级到底有啥用?二代为例
    PerfDog性能狗简介
    macOS常用命令
    像素格式与纹理压缩
  • 原文地址:https://www.cnblogs.com/or2-/p/3627375.html
Copyright © 2011-2022 走看看