当前位置: 首页 > news >正文

专业做网站设计百度电商平台app

专业做网站设计,百度电商平台app,网站建设推销话术案例,做网站 视频外链火柴拼正方形 leetcode473 火柴拼正方形题目描述回溯算法 上期经典算法 leetcode473 火柴拼正方形 难度 - 中等 原题链接 - leetcode473 火柴拼正方形 题目描述 你将得到一个整数数组 matchsticks ,其中 matchsticks[i] 是第 i 个火柴棒的长度。你要用 所有的火柴棍…

火柴拼正方形

  • leetcode473 火柴拼正方形
    • 题目描述
    • 回溯算法
  • 上期经典算法

leetcode473 火柴拼正方形

难度 - 中等
原题链接 - leetcode473 火柴拼正方形

题目描述

你将得到一个整数数组 matchsticks ,其中 matchsticks[i] 是第 i 个火柴棒的长度。你要用 所有的火柴棍 拼成一个正方形。你 不能折断 任何一根火柴棒,但你可以把它们连在一起,而且每根火柴棒必须 使用一次 。
如果你能使这个正方形,则返回 true ,否则返回 false 。

示例1:
在这里插入图片描述输入: matchsticks = [1,1,2,2,2]
输出: true
解释: 能拼成一个边长为2的正方形,每边两根火柴。

示例 2:
输入: matchsticks = [3,3,3,3,4]
输出: false
解释: 不能用所有火柴拼成一个正方形。

提示:
1 <= matchsticks.length <= 15
1 <= matchsticks[i] <= 1e8

在这里插入图片描述

回溯算法

这个题的意思可以转换为,将数组分为四个相等的数组。
用回溯算法,进行选择。先看下回溯算法的基本流程。

废话不多说,直接上回溯算法框架,解决一个回溯问题,实际上就是一个决策树的遍历过程,站在回溯树的一个节点上,你只需要思考 3 个问题:
1.路径:也就是已经做出的选择。
2.选择列表:也就是你当前可以做的选择。
3.结束条件:也就是到达决策树底层,无法再做选择的条件。

代码框架

result = []
def backtrack(路径, 选择列表):if 满足结束条件:result.add(路径)returnfor 选择 in 选择列表:做选择backtrack(路径, 选择列表)撤销选择

代码:

  int n ,t;int[]_nums;public boolean makesquare(int[] nums) {if(nums.length < 4){return false;}int sum = 0;for(int i = 0; i < nums.length;i++){sum += nums[i];}if(sum % 4 != 0){return false;}Arrays.sort(nums);_nums = nums;n = nums.length;t = sum / 4;return dfs(n - 1,0,0,new boolean[n]);}/**** @param index* @param cur 当前元素和* @param cnt 已经凑够几个和为t的集合。* @param vis 标记哪些元素被使用过了。* @return*/boolean dfs(int index,int cur,int cnt,boolean[]vis){if (cnt == 4){return true;}if (cur == t){return dfs(n - 1,0,cnt + 1,vis);}for (int i = index;i >= 0;i--){if (vis[i] || cur + _nums[i] > t){continue;}vis[i] = true;if (dfs(i - 1,cur + _nums[i],cnt,vis)){return true;}vis[i] = false;if (cur == 0){return false;}}return false;}

上期经典算法

leetcode292. Nim 游戏

http://www.hrbkazy.com/news/5051.html

相关文章:

  • 太原网站网络推广广州新塘网站seo优化
  • 东营网站制作公司百度最新推广产品
  • 上海网站建设服务市价百度客服人工在线咨询
  • 东莞淘宝运营seo收录排名
  • 做网上任务赚钱的网站有哪些成都今天宣布的最新疫情消息
  • 城乡建设与管理委员会网站广告公司接单软件
  • 在线做mtv网站口碑营销的重要性
  • 好玩的html网页代码seo秘籍优化课程
  • 深圳网站建设制作品牌公司网站域名在哪买
  • 网站制作是怎样做的深圳网络营销的公司哪家好
  • 电商网站推广怎么做淘宝美工培训
  • 交互做的比较好的网站山东建站
  • 怎么利用爬虫技术 提高网站排名百度推广开户费用多少
  • 企业建立自己的网站设计师必备的6个网站
  • 免费的做网站世界杯竞猜
  • 公司网站制作视频软文营销写作技巧有哪些?
  • 成都优化网站分析谷歌seo推广
  • 广西建设职业学院官网网站seo工具在线访问
  • 国家电力安全网站两学一做企业微信会话内容存档
  • wordpress工作室模板seo免费
  • 毕业设计代做哪个网站好怎么做百度推广
  • 怎么做好网站推广百度app官网下载安装
  • 做的网站文字是乱码怎么做网站优化排名
  • 做网站用到其他网站的素材是侵权吗网站收录优化
  • 网站开发用mvc多吗网站建设步骤
  • java做网站微信支付蜜雪冰城推广软文
  • 赣州网络优化seo有些什么关键词
  • 怎么用源码建站网络营销和传统营销的区别有哪些
  • 地方网站发展广告文案
  • 上什么网站做会计教育app广告联盟平台