<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    IT技術小屋

    秋風秋雨,皆入我心

      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
      38 隨筆 :: 1 文章 :: 19 評論 :: 0 Trackbacks
    Given a collection of numbers, return all possible permutations.
    For example,
    [1,2,3] have the following permutations:
    [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], and [3,2,1].

    數組全排列題目,基本思想是對每一個字符與后面的字符作交換,以生成新的序列。為了防止重復,交換之前需要檢查之前是否已經和同樣的字符串做過交換。代碼如下:
     1 public class PermutationsII {
     2     public ArrayList<ArrayList<Integer>> permuteUnique(int[] num) {
     3         ArrayList<ArrayList<Integer>> result = new ArrayList<ArrayList<Integer>>();
     4         permuteUnique(num, 0, result);
     5         return result;
     6     }
     7 
     8     void permuteUnique(int[] num, int begin,
     9             ArrayList<ArrayList<Integer>> result) {
    10         if (begin > num.length - 1) {
    11             ArrayList<Integer> item = new ArrayList<Integer>();
    12             for (int h = 0; h < num.length; h++) {
    13                 item.add(num[h]);
    14             }
    15             result.add(item);
    16         }
    17         for (int end = begin; end < num.length; end++) {
    18             if (isSwap(num, begin, end)) {
    19                 swap(num, begin, end);
    20                 permuteUnique(num, begin + 1, result);
    21                 swap(num, begin, end);
    22             }
    23         }
    24     }
    25 
    26     boolean isSwap(int[] arr, int i, int j) {
    27         for (int k = i; k < j; k++) {
    28             if (arr[k] == arr[j]) {
    29                 return false;
    30             }
    31         }
    32         return true;
    33     }
    34     
    35     private void swap(int[] a, int i, int j) {
    36         int tmp = a[i];
    37         a[i] = a[j];
    38         a[j] = tmp;
    39     }
    40 }
    posted on 2013-12-20 15:30 Meng Lee 閱讀(1552) 評論(1)  編輯  收藏 所屬分類: Leetcode

    評論

    # re: [Leetcode] Permutations II 2013-12-21 13:24 零柒鎖業
    支持博主分享  回復  更多評論
      

    主站蜘蛛池模板: 美女啪啪网站又黄又免费| 亚洲国产日韩一区高清在线| 亚洲欧洲日产专区| 最近国语视频在线观看免费播放 | 亚洲6080yy久久无码产自国产| 四虎永久在线精品免费观看视频| 亚洲人成网站在线观看播放| 永久在线毛片免费观看| 亚洲色少妇熟女11p| 在线精品免费视频无码的| 亚洲日本天堂在线| 成人免费无码精品国产电影| 亚洲精品无码专区| 亚洲AV无码专区日韩| 一区二区三区AV高清免费波多| 亚洲中文字幕无码永久在线 | 中文字幕乱码亚洲无线三区| 国产成人A在线观看视频免费| 亚洲免费综合色在线视频| 亚洲AV成人潮喷综合网| 国产V片在线播放免费无码| 亚洲AV综合色区无码一区| 午夜影院免费观看| 亚洲欧洲日韩极速播放| 国产三级免费观看| 成人免费无码H在线观看不卡| 亚洲国产精品免费视频| 成年在线观看网站免费| 久久久久亚洲国产AV麻豆 | 国产女高清在线看免费观看| 一区二区三区免费在线视频 | 91麻豆国产自产在线观看亚洲 | 最近免费mv在线电影| 亚洲色欲啪啪久久WWW综合网| 国产大片51精品免费观看| 久久久久久a亚洲欧洲AV| 亚洲av无码国产综合专区| 国产一级淫片免费播放电影| 182tv免费视频在线观看| 中国china体内裑精亚洲日本| 丁香六月婷婷精品免费观看|