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

【Java|golang】1798. 你能构造出连续值的最大数目

给你一个长度为 n 的整数数组 coins ,它代表你拥有的 n 个硬币。第 i 个硬币的值为 coins[i] 。如果你从这些硬币中选出一部分硬币,它们的和为 x ,那么称,你可以 构造 出 x 。

请返回从 0 开始(包括 0 ),你最多能 构造 出多少个连续整数。

你可能有多个相同值的硬币。

示例 1:

输入:coins = [1,3]
输出:2
解释:你可以得到以下这些值:

  • 0:什么都不取 []
  • 1:取 [1]
    从 0 开始,你可以构造出 2 个连续整数。
    示例 2:

输入:coins = [1,1,1,4]
输出:8
解释:你可以得到以下这些值:

  • 0:什么都不取 []
  • 1:取 [1]
  • 2:取 [1,1]
  • 3:取 [1,1,1]
  • 4:取 [4]
  • 5:取 [4,1]
  • 6:取 [4,1,1]
  • 7:取 [4,1,1,1]
    从 0 开始,你可以构造出 8 个连续整数。
    示例 3:

输入:nums = [1,4,10,3,1]
输出:20

提示:

coins.length == n
1 <= n <= 4 * 104
1 <= coins[i] <= 4 * 104

思路:对数组进行排序,如果前面已经构造出最大连续值为 x,遍历数组,若当前值为 y 且 x + 1 >= y, 则可以构造出 [0, x + y],总数为 x + y + 1

    public int getMaximumConsecutive(int[] coins) {int sum=1;Arrays.sort(coins);for (int coin : coins) {if (sum>=coin){sum+=coin;}}return sum;}

在这里插入图片描述

func getMaximumConsecutive(coins []int) int {sum:=1sort.Ints(coins)for _, v := range coins {if sum>=v{sum+=v}}return sum
}

在这里插入图片描述

http://www.lryc.cn/news/1998.html

相关文章:

  • VB 消息、消息队列、事件
  • Linux实用指令记录
  • Jetpack Compose中的绘制流程和自定义布局
  • 笔试题-2023-芯动-数字IC设计【纯净题目版】
  • 高压放大器在孔道灌浆非线性超声测试中的应用
  • vue3响应式原理
  • c/c++开发,无可避免的宏定义使用案例
  • SaaS的阴暗面:网络攻击武器化、平民化
  • 『CV学习笔记』图像处理透视变换(Python+Opencv)
  • 使用Fetch时,post数据时,后端接收的Content-Type为text/plain
  • 大型智慧校园系统源码 智慧校园源码 Android电子班牌源码
  • 【MySQL】你知道的MySQL中的集合函数有哪些呢?
  • 科目一罚款题
  • Maven中央仓库地址大全
  • 人工智能的未来———因果推理what if 第11章(统计模型) 文章解读
  • 百度贴吧发帖软件如何发布?
  • 如何成为java架构师?2023版Java架构师学习路线总结完成,真实系统有效,一切尽在其中
  • tkinter 实现选择文件夹或者多个文件
  • 深圳活动会议媒体邀约,电视台,网媒媒体资源
  • JDBC与Druid连接池
  • java易错题锦集二
  • 11.hadoop系列之MapReduce框架原理之InputFormat数据输入
  • LoadRunner
  • 笔试题-2023-芯原-数字前端设计or验证【纯净题目版】
  • 【软件测试】资深测试工程师说:你真的能做好bug分析吗?
  • NLP模型检查英语语法错误
  • Echarts的Category轴滑动
  • 04 react css上下浮动动画效果
  • 关于线程池
  • 【GPLT 二阶题目集】L2-004 这是二叉搜索树吗?