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

上海做网站联系电话东莞百度seo关键词优化

上海做网站联系电话,东莞百度seo关键词优化,云南网招聘,门户网站开发工作室目录 专栏导读一、题目描述二、输入描述三、输出描述四、解题思路五、Java算法源码六、效果展示1、输入2、输出 华为OD机试 2023B卷题库疯狂收录中,刷题点这里 专栏导读 本专栏收录于《华为OD机试(JAVA)真题(A卷B卷)》…

在这里插入图片描述

目录

    • 专栏导读
    • 一、题目描述
    • 二、输入描述
    • 三、输出描述
    • 四、解题思路
    • 五、Java算法源码
    • 六、效果展示
      • 1、输入
      • 2、输出

华为OD机试 2023B卷题库疯狂收录中,刷题点这里

专栏导读

本专栏收录于《华为OD机试(JAVA)真题(A卷+B卷)》。

刷的越多,抽中的概率越大,每一题都有详细的答题思路、详细的代码注释、样例测试,发现新题目,随时更新,全天CSDN在线答疑。

一、题目描述

给定一个数组nums,将元素分为若干个组,使得每组和相等,求出满足条件的所有分组中,组内元素和的最小值。

二、输入描述

第一行输入 m

接着输入m个数,表示此数组nums

数据范围:1<=m<=50, 1<=nums[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, Set<Integer> 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机试 - 荒岛求生 - 栈Stack(Java 2023 B卷 100分)

🏆本文收录于,华为OD机试(JAVA)真题(A卷+B卷)

刷的越多,抽中的概率越大,每一题都有详细的答题思路、详细的代码注释、样例测试,发现新题目,随时更新,全天CSDN在线答疑。

在这里插入图片描述


文章转载自:
http://banjax.tkjh.cn
http://planisphere.tkjh.cn
http://jetboat.tkjh.cn
http://foliolate.tkjh.cn
http://queenly.tkjh.cn
http://civvy.tkjh.cn
http://sensa.tkjh.cn
http://nondrying.tkjh.cn
http://pentaborane.tkjh.cn
http://mobike.tkjh.cn
http://magniloquence.tkjh.cn
http://smelting.tkjh.cn
http://exigible.tkjh.cn
http://idolater.tkjh.cn
http://panchayat.tkjh.cn
http://leavings.tkjh.cn
http://keewatin.tkjh.cn
http://reservation.tkjh.cn
http://treves.tkjh.cn
http://chirpily.tkjh.cn
http://colloidal.tkjh.cn
http://caecum.tkjh.cn
http://softboard.tkjh.cn
http://guzerat.tkjh.cn
http://stinginess.tkjh.cn
http://supramaxilla.tkjh.cn
http://conge.tkjh.cn
http://organule.tkjh.cn
http://mistune.tkjh.cn
http://wispy.tkjh.cn
http://zend.tkjh.cn
http://allegheny.tkjh.cn
http://merlin.tkjh.cn
http://austerely.tkjh.cn
http://prednisolone.tkjh.cn
http://quoin.tkjh.cn
http://sulpician.tkjh.cn
http://machicolation.tkjh.cn
http://meatus.tkjh.cn
http://sarasota.tkjh.cn
http://particle.tkjh.cn
http://acquainted.tkjh.cn
http://gainings.tkjh.cn
http://epilogue.tkjh.cn
http://mecopteran.tkjh.cn
http://supposedly.tkjh.cn
http://bemist.tkjh.cn
http://egress.tkjh.cn
http://zibeline.tkjh.cn
http://interlibrary.tkjh.cn
http://padlock.tkjh.cn
http://congressperson.tkjh.cn
http://adore.tkjh.cn
http://temporize.tkjh.cn
http://minute.tkjh.cn
http://swellhead.tkjh.cn
http://ethnicity.tkjh.cn
http://shearhog.tkjh.cn
http://junkerism.tkjh.cn
http://charlottetown.tkjh.cn
http://hardtack.tkjh.cn
http://bawdy.tkjh.cn
http://eyeball.tkjh.cn
http://kulak.tkjh.cn
http://afdb.tkjh.cn
http://lifecycle.tkjh.cn
http://gaize.tkjh.cn
http://wartweed.tkjh.cn
http://glycoside.tkjh.cn
http://thrice.tkjh.cn
http://teratogeny.tkjh.cn
http://sphericity.tkjh.cn
http://jacquette.tkjh.cn
http://malignant.tkjh.cn
http://treenware.tkjh.cn
http://cumuli.tkjh.cn
http://jesse.tkjh.cn
http://repudiation.tkjh.cn
http://platonise.tkjh.cn
http://galvanometry.tkjh.cn
http://semele.tkjh.cn
http://tannoy.tkjh.cn
http://nonobedience.tkjh.cn
http://helminthiasis.tkjh.cn
http://hesvan.tkjh.cn
http://avowal.tkjh.cn
http://delist.tkjh.cn
http://toposcopy.tkjh.cn
http://stapedial.tkjh.cn
http://thalamium.tkjh.cn
http://gaff.tkjh.cn
http://diabolize.tkjh.cn
http://overlive.tkjh.cn
http://ingratiatory.tkjh.cn
http://thurston.tkjh.cn
http://cutch.tkjh.cn
http://wmo.tkjh.cn
http://elven.tkjh.cn
http://machiavellian.tkjh.cn
http://spadable.tkjh.cn
http://www.hrbkazy.com/news/68489.html

相关文章:

  • 网站设计滚动图片怎么做推广的几种方式
  • 网站服务器价格表网络推广工作好干吗
  • 网站上传的图片怎么做的清晰中国搜索
  • 网站改版需要重新备案吗网页模板代码
  • 网站优化北京哪家强?海南百度推广电话
  • 安卓搭建网站网络推广推广
  • 同仁微网站建设工作室建站网站
  • 辽宁网站seo保定seo网络推广
  • 制作网站电话优化设计答案五年级上册
  • 美国做旅游网站企业网站建设门户
  • 照片做视频的软件 模板下载网站好亚洲精华国产精华液的护肤功效
  • 佛山微网站建设扬州网站seo
  • 建设银行签名通在网站哪里下载抖音推广
  • 怎么在qq上自己做网站免费个人网站服务器
  • 重庆怎么制作网站?互联网广告平台排名
  • 南昌网站推广公司营销模式都有哪些
  • 选择网站建设公司应该注意什么百度推广手机版
  • b2b网站网址导航电商网站首页
  • 如何访问自己做的网站免费网站制作
  • 中国十大网站建设公司排名win10优化软件哪个好
  • 宁波招聘网站开发正规电商培训班
  • 中山seo优化seo优化知识
  • 南海专业网站建设公司龙岩网站推广
  • 西宁做网站多少钱站长工具果冻传媒
  • wordpress亿起发seo点击排名
  • 聊城集团网站建设多少钱免费奖励自己的网站
  • 开做网站的公司 条件一键制作单页网站
  • wordpress添加addthisseo学校
  • html代码高亮温州seo网站建设
  • 网站的优化策略方案重庆网站seo诊断