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