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

网站建设思路方案塑胶制品东莞网站建设

网站建设思路方案,塑胶制品东莞网站建设,杭州市住房与城乡建设部网站,wordpress文章中图片目录 专栏导读一、题目描述二、输入描述三、输出描述四、解题思路五、Java算法源码六、效果展示1、输入2、输出 华为OD机试 2023B卷题库疯狂收录中#xff0c;刷题点这里 专栏导读 本专栏收录于《华为OD机试#xff08;JAVA#xff09;真题#xff08;A卷B卷#xff09;》… 目录 专栏导读一、题目描述二、输入描述三、输出描述四、解题思路五、Java算法源码六、效果展示1、输入2、输出 华为OD机试 2023B卷题库疯狂收录中刷题点这里 专栏导读 本专栏收录于《华为OD机试JAVA真题A卷B卷》。 刷的越多抽中的概率越大每一题都有详细的答题思路、详细的代码注释、样例测试发现新题目随时更新全天CSDN在线答疑。 一、题目描述 给定一个数组nums将元素分为若干个组使得每组和相等求出满足条件的所有分组中组内元素和的最小值。 二、输入描述 第一行输入 m 接着输入m个数表示此数组nums 数据范围1m50, 1nums[i]50 三、输出描述 最小拆分数组和。 四、解题思路 虽然题意很简单看着很简单其实这道题是有点难度的100分你能抽到这道题自求多福吧兄弟。 比如 4 3 2 3 5 2 1 可以组合成 4 1 3 2 3 2 5 解题思路 1、答案一定在最大值与所有数的和之间拿到这个值看是否能够满足条件 2、用深度优先搜索搜索一种方法满足子数组合能够满足target值的解 3、每次从上一次找的数后面的数开始递归这个优化非常重要不加的话会把之前的结果再找一遍例如我本次递归取了第2个数然后下面再取第5个数当我下次递归取了第5个数的时候如果不从第5个数之后来选就会搜到上面一样取到第二个数那里的结果我们之前是已经搜索过了的。 五、Java算法源码 package com.guor.od;import java.util.Scanner; import java.util.*;public class OdTest05 {public static void main(String[] args) {Scanner sc new Scanner(System.in);int m Integer.valueOf(sc.nextLine());int[] nums Arrays.stream(sc.nextLine().split( )).mapToInt(Integer::parseInt).toArray();Arrays.sort(nums);// 求和int sum 0;for (int i 0; i nums.length; i) {sum nums[i];}// 答案一定在最大值与所有数的和之间拿到这个值看是否能够满足条件for (int ans nums[nums.length - 1]; ans sum; ans) {if (dfs(ans, 0, nums, new HashSet(), 0)) {System.out.println(ans);break;}}}/*** 用深度优先搜索搜索一种方法满足子数组合能够满足target值的解** param target 目标值* param nowValue 当前递归中的数组和* param nums 数组* param useIndex 数组中已经使用过的数的下标* param nowIndex 上一个取的数下标用于搜索剪枝* return 是否找到了答案*/public static boolean dfs(int target, int nowValue, int[] nums, SetInteger useIndex, int nowIndex) {if (useIndex.size() nums.length nowValue 0) {//只有当数组中的值已经用完且没有剩下数的时候说明答案已经找到了return true;}//每次从上一次找的数后面的数开始递归这个优化非常重要不加的话会把之前的结果再找一遍//例如我本次递归取了第2个数然后下面再取第5个数//当我下次递归取了第5个数的时候如果不从第5个数之后来选就会搜到上面一样取到第二个数那里的结果我们之前是已经搜索过了的for (int i nowIndex; i nums.length; i) {if (useIndex.contains(i)) {//表示这个数已经被用过了continue;}//只有当当前取的数 当前的和小于目标值时才可以取if (nowValue nums[i] target) {//标记这个数已经用过了useIndex.add(i);if (nowValue nums[i] target) {//当前的和已经等于目标值这个时候我们要从头来找一个没有用过的数来继续搜索if (dfs(target, 0, nums, useIndex, 0)) {return true;}} else {//当前的和小于目标值我们还得继续找数来继续填充我们的和if (dfs(target, nowValue nums[i], nums, useIndex, i)) {return true;}}useIndex.remove(i);}}return false;} }六、效果展示 1、输入 4 6 5 5 8 2 3 3 3 1 2、输出 8 下一篇华为OD机试 - 荒岛求生 - 栈StackJava 2023 B卷 100分 本文收录于华为OD机试JAVA真题A卷B卷 刷的越多抽中的概率越大每一题都有详细的答题思路、详细的代码注释、样例测试发现新题目随时更新全天CSDN在线答疑。
http://www.w-s-a.com/news/634458/

相关文章:

  • 网站做seo第一步h5制作公司
  • 软件外包产业网络优化工程师是干嘛的
  • 怎么用服务器做局域网网站河西网站建设
  • 工业企业网站建设企业门户网站解决方案
  • 网站运营与管理论文网上商城都有哪些
  • 常德网站制作建设毕设电商网站设计
  • 西安企业模板建站福州+网站建设+医疗
  • 邹城市住房和建设局网站仙居网站建设贴吧
  • 为什么要用CGI做网站网站手机优化显示
  • 做袜子娃娃的网站做网站要学的东西
  • 类qq留言网站建设企业做网站公司
  • 如何查到网站建设三足鼎立小程序开发公司
  • 交互网站怎么做的wordpress ssl 错位
  • 公司宣传 如何做公司网站郑州做网站那
  • 衡阳市城乡建设协会官方网站免费游戏网站模板
  • 小程序怎么做优惠券网站合肥建站网站平台
  • 民制作网站价格株洲企业seo优化
  • 网站建设 岗位职责网站建设百度索引
  • 网站建设的内容下拉网站导航用ps怎么做
  • 怎样做p2p网站海口免费自助建站模板
  • 给企业建设网站的流程图wordpress 添加子菜单
  • 企业网站带新闻发布功能的建站皋兰县建设局网站
  • 国内外做gif的网站wordpress数据库教程
  • 成都建站平台自己做一个网站需要多少钱
  • 景区旅游网站平台建设公司企业网站源码
  • 免费高清网站推荐喂来苏州网络科技有限公司
  • php做的大型网站有哪些备案博客域名做视频网站会怎么样
  • 去哪网站备案吗昭通网站建设
  • flash企业网站源码建筑材料采购网站
  • 网站可以换虚拟主机吗部门做网站优点