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

深圳做网站(龙华信科)鼓楼网站开发

深圳做网站(龙华信科),鼓楼网站开发,wordpress更改ip后登录密码,建网站报价目录 一、题目描述二、输入描述三、输出描述四、解题思路具体规则如下#xff1a;具体步骤如下#xff1a; 五、Java算法源码六、效果展示1、输入2、输出3、说明 华为OD机试 2023B卷题库疯狂收录中#xff0c;刷题点这里 一、题目描述 给定一个长度为n的整型数组#xff0… 目录 一、题目描述二、输入描述三、输出描述四、解题思路具体规则如下具体步骤如下 五、Java算法源码六、效果展示1、输入2、输出3、说明 华为OD机试 2023B卷题库疯狂收录中刷题点这里 一、题目描述 给定一个长度为n的整型数组表示一个选手在n轮内可选择的牌面分数。选手基于规则选牌 请计算所有轮结束后其可以获得的最高总分数。 选择规则如下 在每轮里选手可以选择获取该轮牌面则其总分数加上该轮牌面分数为其新的总分数选手也可不选择本轮牌面直接跳到下一轮此时将当前总分数还原为3轮前的总分数若当前轮次小于等于3即在第1、2、3轮选择跳过轮次则总分数置为0选手的初始总分数为0且必须依次参加每一轮。 二、输入描述 第一行为一个小写逗号分割的字符串表示n轮的牌面分数1 n 20。 分数值为整数-100 分数值 100。 不考虑格式问题。 三、输出描述 所有轮结束后选手获得的最高总分数。 四、解题思路 题目要求计算选手在每一轮选择牌面后能获得的最高总分数。选手可以选择获取当前轮的牌面分数也可以选择跳过当前轮。 具体规则如下 如果选手选择获取当前轮的牌面分数则将当前轮的牌面分数加到总分数上成为新的总分数如果选手选择跳过当前轮则将当前总分数还原为3轮前的总分数即上上轮的总分数如果当前轮次小于等于3则总分数置为0选手的初始总分数为0且必须依次参加每一轮。 根据题目描述我们可以使用动态规划的思想来解决问题。 具体步骤如下 读取输入的牌面分数字符串使用逗号分割得到每一轮的牌面分数数组创建一个整型数组 arr将牌面分数依次存储到数组中创建一个整型列表 list用于存储每一轮结束后选手获得的最高总分数。初始化列表的第一个元素为初始总分数即 list[0] arr[0]如果第一轮的牌面分数小于等于0则初始总分数为0使用循环从第二轮开始计算每一轮结束后选手获得的最高总分数从 i 1 开始迭代到 i n-1 计算当前轮结束后的总分数 count list[i-1] arr[i]即当前轮的总分数为上一轮的总分数加上当前轮的牌面分数。如果当前轮次 i 小于等于3则将 count 和 0 中的较大值添加到列表中即 list.add(Math.max(count, 0))。这是因为如果当前轮次小于等于3则选手无法回到上上轮因此总分数应该置为0。如果当前轮次 i 大于3则将 count 和上上轮的总分数 list[i-3] 中的较大值添加到列表中即 list.add(count list[i-3] ? count : list[i-3])。这是因为选手可以选择跳过当前轮所以要比较 count 和跳过当前轮后的总分数取较大值作为当前轮结束后的最高总分数。 输出列表中的最后一个元素 list[n-1]即所有轮结束后选手获得的最高总分数。 五、Java算法源码 public static void main(String[] args) {Scanner sc new Scanner(System.in);// 每一轮的牌面分数数组int[] arr Arrays.stream(sc.nextLine().split(,)).mapToInt(Integer::parseInt).toArray();int a arr.length;// 存储每一轮结束后选手获得的最高总分数ListInteger list new ArrayList();// 初始化列表的第一个元素为初始总分数即 list[0] arr[0]// 如果第一轮的牌面分数小于等于0则初始总分数为0if (arr[0] 0) {list.add(0);} else {list.add(arr[0]);}// 使用循环从第二轮开始计算每一轮结束后选手获得的最高总分数for (int i 1; i a; i) {int count list.get(i - 1) arr[i];if (i 3) {list.add(Math.max(count, 0));} else {// 将 count 和上上轮的总分数 list[i-3] 中的较大值添加到列表中list.add(count list.get(i - 3) ? count : list.get(i - 3));}}System.out.println(list.get(a - 1)); }六、效果展示 1、输入 2,-3,-7,4,3,4,-2,-7 2、输出 7 3、说明 核心思想选手也可不选择本轮牌面直接跳到下一轮此时将当前总分数还原为3轮前的总分数若当前轮次小于等于3即在第1、2、3轮选择跳过轮次则总分数置为0 22 -3 -1前三轮跳过的话总分置为0从第四个开始累加4 3 4 11再加-2 9如果跳过还原为3轮前的总分数49 大于4故不跳过再加-7 2如果跳过还原为3轮前的总分数77大于2故跳过输出7 下一篇华为OD机试真题 Java 实现【简易内存池】【2023 B卷 200分 考生抽中题】 本文收录于华为OD机试JAVA真题A卷B卷 刷的越多抽中的概率越大每一题都有详细的答题思路、详细的代码注释、样例测试发现新题目随时更新全天CSDN在线答疑。
http://www.hkea.cn/news/14554049/

相关文章:

  • 有做机械工装的网站吗音乐网站开发环境描述
  • 石家庄 外贸网站建设浙江网站推广
  • 深圳 网站建设 公司企业网站建设的一般要素包括6
  • 外贸网站关键词网站制作案例效果
  • 贵阳百度做网站电话做盗市相关网站
  • 宜兴经济开发区人才网湖南网站建设seo优化
  • 广东企业网站建设永久免费的电销外呼系统
  • 红番茄 网站点评免费咨询医生妇科医生
  • 网站开发雷小天wordpress注册邮件问题
  • 网站建设依据什么法律188旅游网站源码下载
  • 创建网站的免费软件国内销售管理系统需求分析
  • 青岛市住房和城乡建设局网站查询旅游公司的网站怎么做
  • 十大购物网站网站公司后台
  • 一个网站开发项目小组成员区块链技术网站开发
  • 车子网站网站建设理念
  • 甜品网站建设项目规划书微商城网站建设策划书
  • 邢台专业做网站推广网站名称意义
  • 房地产公司网站模板百度推广建设网站是不是合发
  • 如何网站优化排名福州网站建设兼职
  • 河南海华工程建设监理公司网站seo搜索优化专员
  • 网站开发技术发展史甘肃肃第八建设集团网站
  • 上海网站开发开发好的公司电话手游传奇发布网站999
  • 做网站多少钱一般logo设计一键生成
  • 网站建设解决恩问题如何修改响应式网站模板
  • 合肥序曲网站建设公司怎么样智加设计公司
  • 网络营销的形式网站营销厦门 建网站
  • 有些网站突然无法访问厦门市建设工程安全质量协会网站
  • html网站建设方案做丝网网站哪个好
  • 鹤壁集团网站建设wordpress 登录可见
  • 做网站第一部WordPress如何更改文章链接