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

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

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

    IT技術(shù)小屋

    秋風(fēng)秋雨,皆入我心

      BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
      38 隨筆 :: 1 文章 :: 19 評(píng)論 :: 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ù)組全排列題目,基本思想是對(duì)每一個(gè)字符與后面的字符作交換,以生成新的序列。為了防止重復(fù),交換之前需要檢查之前是否已經(jīng)和同樣的字符串做過(guò)交換。代碼如下:
     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) 評(píng)論(1)  編輯  收藏 所屬分類: Leetcode

    評(píng)論

    # re: [Leetcode] Permutations II 2013-12-21 13:24 零柒鎖業(yè)
    支持博主分享  回復(fù)  更多評(píng)論
      

    主站蜘蛛池模板: 九九免费精品视频在这里| 久久青青草原亚洲av无码| 免费人成激情视频在线观看冫| 亚洲av产在线精品亚洲第一站 | 亚洲国产精品无码久久久秋霞1| 久久亚洲国产中v天仙www| 国产aa免费视频| 欧美最猛性xxxxx免费| 国产精品免费大片| 国产一二三四区乱码免费| 欧美亚洲精品一区二区| 99999久久久久久亚洲| 亚洲精品一区二区三区四区乱码| 国产亚洲人成网站在线观看不卡| 亚洲AV无码一区二三区| 日韩在线视频免费看| 在线观看免费成人| 久久久久免费看黄A片APP| 在线看免费观看AV深夜影院| 99re在线视频免费观看| 免费人成毛片动漫在线播放| 久久er国产精品免费观看8| 日本高清不卡中文字幕免费| 国产尤物在线视精品在亚洲| 国产精品亚洲专区无码牛牛| 亚洲国产av玩弄放荡人妇 | 免费无遮挡无码视频网站| 114一级毛片免费| 九九精品免费视频| 妻子5免费完整高清电视| 国产精彩免费视频| 国产卡一卡二卡三免费入口| 青青青国产在线观看免费| 大地资源免费更新在线播放| 成全视频在线观看免费高清动漫视频下载 | 国产精品久久久久久久久久免费| www.999精品视频观看免费| 男人的好免费观看在线视频| 成人性生免费视频| 免费国产成人午夜电影| 亚洲人成色77777在线观看大|