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

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

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

    IT技術小屋

    秋風秋雨,皆入我心

      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
      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].

    數(shù)組全排列題目,基本思想是對每一個字符與后面的字符作交換,以生成新的序列。為了防止重復,交換之前需要檢查之前是否已經(jīng)和同樣的字符串做過交換。代碼如下:
     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 零柒鎖業(yè)
    支持博主分享  回復  更多評論
      

    主站蜘蛛池模板: 久久久高清日本道免费观看| a级毛片高清免费视频| 秋霞人成在线观看免费视频| 中文毛片无遮挡高潮免费| 国产伦精品一区二区三区免费迷| 精品国产成人亚洲午夜福利| 亚洲码欧美码一区二区三区| 国产成人无码免费看片软件| 国产免费不卡视频| 国产福利电影一区二区三区,亚洲国模精品一区 | 久久精品国产亚洲Aⅴ香蕉| 亚洲国产日韩一区高清在线| 亚洲熟妇AV乱码在线观看| 国产精品免费久久久久久久久| 一个人看的免费观看日本视频www| 午夜亚洲乱码伦小说区69堂| 久9热免费精品视频在线观看| 国产三级在线免费| 暖暖免费高清日本一区二区三区| 国产精品久久亚洲不卡动漫| igao激情在线视频免费| 99久久免费国产精品特黄| 精品国产香蕉伊思人在线在线亚洲一区二区 | 亚洲成av人片天堂网| 亚洲精品久久久久无码AV片软件| 亚洲成av人在线观看网站| 一区二区三区无码视频免费福利| 91香蕉在线观看免费高清| 亚洲国产精品狼友中文久久久| 亚洲午夜精品久久久久久浪潮| 亚洲国产三级在线观看| 国产精品亚洲综合一区在线观看| 国产亚洲美女精品久久久| 亚洲综合激情五月丁香六月| 你懂的免费在线观看网站| 亚洲国产高清精品线久久| 亚洲日本成本人观看| 99精品视频在线视频免费观看| 亚洲成在人线aⅴ免费毛片| 亚洲va在线va天堂va四虎 | 亚洲欧洲一区二区|