41、全排列變種之正方體

題目:輸入一個含有8個數(shù)字的數(shù)組蹦疑,判斷有沒有可能把這8個數(shù)字分別放在正方體的8個頂點上,使得正方體上三組相對的面上的4個頂點的和都相等萨驶。

解法:和全排列思路一樣歉摧,只是最后多加一個判斷條件:先確定第一個數(shù)字,然后對后面的數(shù)字做全排列腔呜。當(dāng)所有數(shù)字都確定下來后叁温,判斷當(dāng)前數(shù)組是否滿足條件正方體上三組相對的面上的4個頂點的和都相等,即
(nums[0] + nums[1] + nums[2] + nums[3] == nums[5] + nums[6] + nums[7] + nums[4]) && (nums[0] + nums[2] + nums[4] + nums[6] == nums[5] + nums[1] + nums[7] + nums[3]) && (nums[0] + nums[1] + nums[4] + nums[5] == nums[2] + nums[6] + nums[7] + nums[3])

    private List<List<Integer>> Permutation(int[] nums) {
        List<List<Integer>> result = new ArrayList<>();
        if (nums == null || nums.length != 8) return result;
        permutation(result, nums, 0);
        return result;
    }

    private void permutation(List<List<Integer>> result, int[] nums, int index) {
        if (index >= nums.length) {
            if ((nums[0] + nums[1] + nums[2] + nums[3] == nums[5] + nums[6] + nums[7] + nums[4]) &&
                    (nums[0] + nums[2] + nums[4] + nums[6] == nums[5] + nums[1] + nums[7] + nums[3]) &&
                    (nums[0] + nums[1] + nums[4] + nums[5] == nums[2] + nums[6] + nums[7] + nums[3])) {
                List<Integer> numbers = new ArrayList<>();
                for (int num : nums) {
                    numbers.add(num);
                }
                result.add(numbers);
            }
        } else {
            for (int i = index; i < nums.length; ++i) {
                if (i == index || nums[i] != nums[index]) {
                    int temp = nums[i];
                    nums[i] = nums[index];
                    nums[index] = temp;

                    permutation(result, nums, index + 1);

                    temp = nums[i];
                    nums[i] = nums[index];
                    nums[index] = temp;
                }
            }
        }
    }
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末育谬,一起剝皮案震驚了整個濱河市券盅,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌膛檀,老刑警劉巖锰镀,帶你破解...
    沈念sama閱讀 222,000評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異咖刃,居然都是意外死亡泳炉,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,745評論 3 399
  • 文/潘曉璐 我一進(jìn)店門嚎杨,熙熙樓的掌柜王于貴愁眉苦臉地迎上來花鹅,“玉大人,你說我怎么就攤上這事枫浙∨偎啵” “怎么了?”我有些...
    開封第一講書人閱讀 168,561評論 0 360
  • 文/不壞的土叔 我叫張陵箩帚,是天一觀的道長真友。 經(jīng)常有香客問我,道長紧帕,這世上最難降的妖魔是什么盔然? 我笑而不...
    開封第一講書人閱讀 59,782評論 1 298
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上愈案,老公的妹妹穿的比我還像新娘挺尾。我一直安慰自己,他們只是感情好站绪,可當(dāng)我...
    茶點故事閱讀 68,798評論 6 397
  • 文/花漫 我一把揭開白布遭铺。 她就那樣靜靜地躺著,像睡著了一般恢准。 火紅的嫁衣襯著肌膚如雪掂僵。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,394評論 1 310
  • 那天顷歌,我揣著相機(jī)與錄音,去河邊找鬼幔睬。 笑死眯漩,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的麻顶。 我是一名探鬼主播赦抖,決...
    沈念sama閱讀 40,952評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼辅肾!你這毒婦竟也來了队萤?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,852評論 0 276
  • 序言:老撾萬榮一對情侶失蹤矫钓,失蹤者是張志新(化名)和其女友劉穎要尔,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體新娜,經(jīng)...
    沈念sama閱讀 46,409評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡赵辕,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,483評論 3 341
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了概龄。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片还惠。...
    茶點故事閱讀 40,615評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖私杜,靈堂內(nèi)的尸體忽然破棺而出蚕键,到底是詐尸還是另有隱情,我是刑警寧澤衰粹,帶...
    沈念sama閱讀 36,303評論 5 350
  • 正文 年R本政府宣布锣光,位于F島的核電站,受9級特大地震影響寄猩,放射性物質(zhì)發(fā)生泄漏嫉晶。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,979評論 3 334
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望替废。 院中可真熱鬧箍铭,春花似錦、人聲如沸椎镣。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,470評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽状答。三九已至冷守,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間惊科,已是汗流浹背拍摇。 一陣腳步聲響...
    開封第一講書人閱讀 33,571評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留馆截,地道東北人充活。 一個月前我還...
    沈念sama閱讀 49,041評論 3 377
  • 正文 我出身青樓,卻偏偏與公主長得像蜡娶,于是被迫代替她去往敵國和親混卵。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,630評論 2 359

推薦閱讀更多精彩內(nèi)容

  • 第一章數(shù)和數(shù)的運算 一概念 (一)整數(shù) 1整數(shù)的意義 自然數(shù)和0都是整數(shù)窖张。 2自然數(shù) 我們在數(shù)物體的時候幕随,用來表示...
    meychang閱讀 2,617評論 0 5
  • 首先考慮一道奧數(shù)題目: □□□ + □□□ = □□□澄阳,要將數(shù)字1~9分別填入9個□中拥知,使得等式成立。例如173+...
    SHY圓圓圈圈圓圓閱讀 3,430評論 4 7
  • 基本數(shù)據(jù)結(jié)構(gòu)中碎赢,數(shù)組是很重要的低剔,這篇小猿圈加加對數(shù)組詳解一席,具體使用肮塞,在學(xué)習(xí)過程中有困惑的朋友襟齿,可以看一下加加的...
    小猿圈加加閱讀 476評論 0 0
  • 1. 圖的定義和基本術(shù)語 線性結(jié)構(gòu)中,元素僅有線性關(guān)系枕赵,每個元素只有一個直接前驅(qū)和直接后繼猜欺;樹形結(jié)構(gòu)中,數(shù)據(jù)元素(...
    yinxmm閱讀 5,463評論 0 3
  • 陶醉于一種游戲拷窜,摘取一朵復(fù)葉 細(xì)數(shù)它葉片的偶與奇开皿,偶是離別 奇是繼續(xù)愛你涧黄,可總是奇,總是奇 仿佛是我耍了伎倆之后赋荆,...
    青燈先生閱讀 291評論 4 8