<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 閱讀(1550) 評論(1)  編輯  收藏 所屬分類: Leetcode

    評論

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

    主站蜘蛛池模板: 亚洲一区二区三区深夜天堂| 国产av无码专区亚洲av桃花庵| 亚洲黑人嫩小videos| 野花香在线视频免费观看大全 | 国产亚洲人成网站在线观看不卡| 国产精品亚洲а∨无码播放不卡 | 永久黄网站色视频免费直播| 亚洲国产亚洲片在线观看播放| 久久免费的精品国产V∧| 色婷婷亚洲十月十月色天| 在线看无码的免费网站| 亚洲中文无码永久免费| 日韩视频免费一区二区三区| 国产精品亚洲一区二区无码| 亚洲国产电影av在线网址| 久草免费福利在线| 亚洲AV无码日韩AV无码导航| 亚洲电影在线免费观看| 亚洲天然素人无码专区| 亚洲v国产v天堂a无码久久| 免费观看男人吊女人视频| 亚洲无圣光一区二区| 麻豆国产入口在线观看免费| 老司机福利在线免费观看| 伊人久久亚洲综合| 37pao成人国产永久免费视频| 亚洲最大中文字幕无码网站| 亚洲精品成人网久久久久久| 久久精品无码精品免费专区| 亚洲精品第一综合99久久| 亚洲精品国精品久久99热| 99热这里有免费国产精品| 亚洲AV成人一区二区三区观看| 国产成人A亚洲精V品无码| 在线永久免费的视频草莓| 日日躁狠狠躁狠狠爱免费视频| 亚洲91av视频| 四虎永久精品免费观看| 午夜免费福利片观看| 看亚洲a级一级毛片| 亚洲蜜芽在线精品一区|