九章演算法 微軟面試題 帶重複元素的排列

2021-10-25 07:12:18 字數 960 閱讀 2084

給出乙個具有重複數字的列表,找出列表所有不同的排列。

樣例 1:

輸入:[1,1]

輸出:[

[1,1]

]

樣例 2:

輸入:[1,2,2]

輸出:[

// 非葉節點

for(

inti=0

;i<

nums

.length;++

i)// 在路徑新增該節點,遞迴

path

.addlast

(nums[i

]);used[i

]=true

;dfs

(nums

,used

,path

,res

);// 回溯

used[i

]=false

;path

.removelast

();}

}}

更多題解參考:九章演算法

九章演算法 微軟面試題 公平索引

現在給你兩個長度均為n的整數陣列 a 和 b。當 a 0 a k 1 a k a n 1 b 0 b k 1 和 b k b n 1 四個和值大小相等時,稱索引k是乙個公平索引。也就是說,索引k 可以使得a,b 兩個陣列被分成兩個非空陣列,這四個子陣列的和值相等。例如,陣列a 4,1,0,3 b 2...

九章演算法 蘇州微軟面試題 程式檢查

描述 有一種程式語言,只有以下五種命令,每種命令最多有兩個引數,請檢查給定的程式是否可能無限迴圈。這些命令分別是 label 宣告乙個標籤,引數是乙個字串,且每個標籤只宣告一次。goto 跳轉到乙個標籤,並從標籤處開始按順序執行程式。halt 停機,程式終止。gotorand 隨機跳轉到兩個標籤中的...

九章演算法 微軟面試題 加熱器

描述 冬天來啦!你的任務是設計出乙個具有固定加熱半徑的加熱器,使得所有房屋在這個冬天不至於太冷。現在你能夠獲知所有房屋和加熱器所處的位置,它們均分布在一條水平線中。你需要找出最小的加熱半徑使得所有房屋都處在至少乙個加熱器的加熱範圍內。所以,你的輸入將會是所有房屋和加熱器所處的位置,期望輸出為加熱器最...