解决这道大厂题 奖金50块!

原题为leetcode473

将这道题略微更改 改成你将得到一个整数数组 A ,其中 A[i] 是第 i 个火柴棒的长度。你要用 给定的火柴棍 拼成一个最大的正方形。你 不能折断 任何一根火柴棒,但你可以把它们连在一起,而且每根火柴棒可以使用一次或零次。

如果你能使这个正方形,则返回 他的边长,否则返回 0。

比如说 输入A=[3,3,3,2,1,1],输出3。(可以拼成边长为3的正方形)

要求:尽可能低的时间复杂度

输入A=[3,3,3,2,1,1],输出3

输入A=【1,1,2,2,3,3,4,5,7,8】 输出7

输入A=【8,1,9,3,3,3,6,2,1,1,1,1,1,7,3,4,5,2,1,6】输出17

输入A=【1,2,3,6】输出-1

#我的实习求职记录##实习,投递多份简历没人回复怎么办##非技术薪资爆料##我的求职思考##23届找工作求助阵地#
全部评论
枚举正方形边长,然后01背包
点赞 回复 分享
发布于 08-03 20:03 北京
所有的都要用的话,正方形的边长就是确定的,题目就变成了,划分一个数组成四部分,每部分的和都是xxx
点赞 回复 分享
发布于 08-03 20:56 浙江
爆搜,没啥写的意义, 原题n <= 15, 复杂度o(4^n), 剩下交给剪枝.
点赞 回复 分享
发布于 08-04 21:53 广东

相关推荐

点赞 评论 收藏
分享
1 1 评论
分享
牛客网
牛客企业服务