火柴拼正方形

2021-10-06 15:52:32 字數 1331 閱讀 9682

還記得童話《賣火柴的小女孩》嗎?現在,你知道小女孩有多少根火柴,請找出一種能使用所有火柴拼成乙個正方形的方法。不能折斷火柴,可以把火柴連線起來,並且每根火柴都要用到。

輸入為小女孩擁有火柴的數目,每根火柴用其長度表示。輸出即為是否能用所有的火柴拼成正方形。

示例 1:

輸入: [1,1,2,2,2]

輸出: true

解釋: 能拼成乙個邊長為2的正方形,每邊兩根火柴。

示例 2:

輸入: [3,3,3,3,4]

輸出: false

解釋: 不能用所有火柴拼成乙個正方形。

注意:給定的火柴長度和在 0 到 10^9之間。

火柴陣列的長度不超過15。

class

solution

for(

int i=j-

1;i>=

0;i--

) boolnum[i]

=false;}

}return

false;}

bool

makesquare

(vector<

int>

& nums)

sort

(nums.

begin()

,nums.

end())

;int suma=0;

for(

auto n:nums)

if(suma%4)

int target = suma/4;

if(nums.

back()

>target)

vector<

bool

>

boolnum

(len,

false);

int j=len-1;

for(

int i=

0;i<

4;i++)if

(!dfs(nums,boolnum,target,

0,j))}

return

true;}

};

記錄乙個知識點,用sort函式驚醒排序時

vector<

int>nums=

;//這是公升序排列

sort

(nums.

begin()

,nums.

end())

;//這是降序排列

sort

(nums.

rbegin()

,nums.

end())

;

473 火柴拼正方形

還記得童話 賣火柴的小女孩 嗎?現在,你知道小女孩有多少根火柴,請找出一種能使用所有火柴拼成乙個正方形的方法。不能折斷火柴,可以把火柴連線起來,並且每根火柴都要用到。輸入為小女孩擁有火柴的數目,每根火柴用其長度表示。輸出即為是否能用所有的火柴拼成正方形。示例 1 輸入 1,1,2,2,2 輸出 tr...

演算法 回溯 火柴拼正方形

還記得童話 賣火柴的小女孩 嗎?現在,你知道小女孩有多少根火柴,請找出一種能使用所有火柴拼成乙個正方形的方法。不能折斷火柴,可以把火柴連線起來,並且每根火柴都要用到。輸入為小女孩擁有火柴的數目,每根火柴用其長度表示。輸出即為是否能用所有的火柴拼成正方形。示例 1 輸入 1,1,2,2,2 輸出 tr...

LeetCode 473 火柴拼正方形

還記得童話 賣火柴的小女孩 嗎?現在,你知道小女孩有多少根火柴,請找出一種能使用所有火柴拼成乙個正方形的方法。不能折斷火柴,可以把火柴連線起來,並且每根火柴都要用到。輸入為小女孩擁有火柴的數目,每根火柴用其長度表示。輸出即為是否能用所有的火柴拼成正方形 我看到題目,很快就想到了等分k份陣列這道題目....