懶人讀演算法 八 所有子集

2021-08-09 07:10:07 字數 1000 閱讀 7482

給乙個唯一的陣列,返回所有該陣列的子集

例如 nums=[1,2,3]

返回:

[

[3],

[1],

[2],

[1,2,3],

[1,3],

[2,3],

[1,2],

]

答案:

public

class solution

private

void

recurse(list> result, int nums, stack path, int position)

path.push(nums[position]);

recurse(result, nums, path, position + 1);

path.pop();

recurse(result, nums, path, position + 1);

}}

解析:懂遞迴者得天下,一些很複雜的東西用遞迴就很簡單的實現

執行順序1  position=0 path= result=

path=[1] position=1

執行順序2 position=1 path=[1] result=

path=[1,2] position=2

執行順序3 position=2 path=[1,2] result=

path=[1,2,3] position=3

執行順序4 position=3 path=[1,2,3] result=

result=[1,2,3] return

執行順序5 position=2 path=[1,2] result=[1,2,3]

path=[1,2] position=3

執行順序6 position=3

result=[1,2] return

...

1588 所有奇數長度子陣列的和

題目描述 給你乙個正整數陣列 arr 請你計算所有可能的奇數長度子陣列的和。子陣列 定義為原陣列中的乙個連續子串行。請你返回 arr 中 所有奇數長度子陣列的和 示例 1 輸入 arr 1,4,2,5,3 輸出 58 解釋 所有奇數長度子陣列和它們的和為 1 1 4 4 2 2 5 5 3 3 1,...

LeetCode 1588 所有奇數長度子陣列的和

給你乙個正整數陣列 arr 請你計算所有可能的奇數長度子陣列的和。子陣列 定義為原陣列中的乙個連續子串行。請你返回 arr 中 所有奇數長度子陣列的和 輸入 arr 1,4,2,5,3 輸出 58 解釋 所有奇數長度子陣列和它們的和為 1 1 4 4 2 2 5 5 3 3 1,4,2 7 4,2,...

1588 所有奇數長度子陣列的和

給你乙個正整數陣列 arr 請你計算所有可能的奇數長度子陣列的和。子陣列 定義為原陣列中的乙個連續子串行。請你返回 arr 中 所有奇數長度子陣列的和 示例 1 輸入 arr 1,4,2,5,3 輸出 58 解釋 所有奇數長度子陣列和它們的和為 1 1 4 4 2 2 5 5 3 3 1,4,2 7...