<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 零柒鎖業
    支持博主分享  回復  更多評論
      

    主站蜘蛛池模板: 全黄A免费一级毛片| 亚洲最大av资源站无码av网址| 男男gvh肉在线观看免费| 拨牐拨牐x8免费| 中文字幕亚洲情99在线| a毛片基地免费全部视频| 亚洲国产日韩在线成人蜜芽 | 亚洲视频免费观看| 4444www免费看| 亚洲人成777在线播放| 免费大片黄在线观看yw| 精品国产日韩久久亚洲| 日本视频免费在线| 黄页网址在线免费观看| 亚洲综合另类小说色区| 久9久9精品免费观看| 亚洲乱码中文字幕小综合| 最近高清国语中文在线观看免费 | 黄色网址免费在线| 77777亚洲午夜久久多人| 国产99视频精品免费专区| 亚洲小说区图片区| 国产成人精品免费直播| 国产精品美女免费视频观看| 亚洲an天堂an在线观看| 成人激情免费视频| 一级做受视频免费是看美女| 亚洲不卡av不卡一区二区| 我的小后妈韩剧在线看免费高清版| 亚洲综合校园春色| 亚洲国产一区二区视频网站| 国产成人免费ā片在线观看老同学| 亚洲资源在线视频| 国产成人在线观看免费网站 | 亚洲gv猛男gv无码男同短文| **aaaaa毛片免费| 精品在线免费视频| 亚洲视屏在线观看| 亚洲成人高清在线| 亚洲人成免费电影| 一级人做人爰a全过程免费视频|