<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12
      代碼改變世界

      java小算法實現-長整形去除重復保留最小值

      2019-07-20 16:55  杰啦  閱讀(555)  評論(0)    收藏  舉報

      最近遇到需要寫一些題目的實現,遇到一個比較頭疼的問題,給定一個字符串,怎么刪除重復數字并保證得到的結果最大

      例如:423234  最大值432

      本人的解題思路如下:

      1.將長整形賦值給字符串數組,然后依據一定的規律去刪除數組重復的數字

      2.規律如下

        假設當前數值為a,下一個數值為b

        當前數值與后續字符串數值逐個比較,如果沒有重復數字,就直接保留到結果數組上

        當前數值與后續字符串數值逐個比較,如果有重復數字,則需要進行判斷,

          1.a>b,則將其后面遇到的第一個a值轉變成‘n’

          2.a<=b,則將自身數值轉變成‘n’

      3.由于是局部替換,所以最后加了個循環來確保沒有重復數字出現

       1 package com.six;
       2 
       3 import java.util.Scanner;
       4 
       5 /**
       6  * 求一串數字的刪除重復后的最大值 1.求出刪除重復后的字符串 2.求最大值,也即232這種情況的處理
       7  * 
       8  * @author 99201
       9  *
      10  */
      11 public class DelDuplicate {
      12     public static void main(String[] args) {
      13         //讀取一行數字
      14         Scanner in = new Scanner(System.in);
      15         String input = in.next();
      16         //調用delDup方法
      17         StringBuilder str = delDup(input);
      18         //檢查生成的str是否還有重復數字
      19         while (!test(str)) {
      20             str = delDup(str.toString());
      21         }
      22         //輸出結果
      23         System.out.println(str.toString());
      24     }
      25     //判斷字符串是否存在重復數字,存在返回false
      26     public static boolean test(StringBuilder s) {
      27         for (int i = 0; i < s.length(); i++) {
      28             int m = in(i, i + 1, s);
      29             if (m > 0) {
      30                 return false;
      31             }
      32         }
      33         return true;
      34     }
      35     //返回局部最優解
      36     public static StringBuilder delDup(String input) {
      37         StringBuilder str = new StringBuilder(input);
      38         //結果字符串
      39         StringBuilder res = new StringBuilder();
      40         int len = str.length();
      41         //用于替換重復數字的字符
      42         char N = 'n';
      43         //遍歷字符串數組,從0-(len-2)
      44         for (int i = 0; i < len - 1; i++) {
      45             int tem = in(i, i + 1, str);
      46             if (tem == 0 && str.charAt(i) != N) {
      47                 res.append(str.charAt(i));
      48                 continue;
      49             }
      50             if (str.charAt(i) < str.charAt(i + 1)) {
      51                 if (tem > 0) {
      52                     str.setCharAt(i, N);
      53                 }
      54             } else if (str.charAt(i) == str.charAt(i + 1)) {
      55                 str.setCharAt(i, N);
      56             } else if (str.charAt(i) > str.charAt(i + 1)) {
      57                 if (tem > 0) {
      58                     str.setCharAt(tem, N);
      59                 }
      60             }
      61             //判斷字符串數組最后一個數字是否有被替換
      62             if (str.charAt(i) != N) {
      63                 res.append(str.charAt(i));
      64             }
      65         }
      66         if (str.charAt(len - 1) != N) {
      67             res.append(str.charAt(len - 1));
      68         }
      69         return res;
      70     }
      71     //判斷給定數字在字符串中位值,返回其后第一次再出現該數字在字符串中位置
      72     public static int in(int i, int j, StringBuilder str) {
      73         char c = str.charAt(i);
      74         for (int k = j; k < str.length(); k++) {
      75             if (c == str.charAt(k)) {
      76                 return k;
      77             }
      78         }
      79         return 0;
      80     }
      81 }

      如有不正確或者更好的解題思路,可以聯系我

          

      主站蜘蛛池模板: 久久影院综合精品| 日韩精品中文字幕有码| 日本国产精品第一页久久| 99久久精品费精品国产一区二| 成人区人妻精品一区二蜜臀| 午夜在线观看成人av| 午夜福利啪啪片| 91久久精品国产性色也| 国产精品十八禁在线观看| 国产亚洲精品在av| 四虎影院176| 久久国产精品伊人青青草| 亚洲第一综合天堂另类专| 无套内谢少妇毛片aaaa片免费| 国产一区二区三区在线观| 一本大道久久a久久综合| 龙游县| 国产无遮挡又黄又大又爽| 亚洲国产日韩一区三区| 少妇人妻偷人精品视频| 婷婷五月综合激情| 国产精品一区 在线播放| 欧美猛少妇色xxxxx猛叫 | 亚洲成aⅴ人在线观看| 人妻蜜臀久久av不卡| 国产亚洲欧美精品久久久| 亚洲日韩图片专区第1页| 亚洲色大成网站WWW久久| 少妇午夜福利一区二区三区| 麻豆亚洲精品一区二区| 亚洲精品无码久久久影院相关影片| 国产成人夜色高潮福利app| 欧美和黑人xxxx猛交视频| 高级会所人妻互换94部分| 久久精品国产色蜜蜜麻豆| 久久老熟女一区二区蜜臀| 毛片网站在线观看| 久久国产精品波多野结衣| 亚洲综合一区二区三区在线| 国产成人免费午夜在线观看| 成人动漫综合网|