首页 > 编程语言 >【算法题】2706. 购买两块巧克力

【算法题】2706. 购买两块巧克力

时间:2023-07-01 10:01:59浏览次数:53  
标签:钱数 巧克力 money 2706 算法 购买 prices 两块


题目:

给你一个整数数组 prices ,它表示一个商店里若干巧克力的价格。同时给你一个整数 money ,表示你一开始拥有的钱数。

你必须购买 恰好 两块巧克力,而且剩余的钱数必须是 非负数 。同时你想最小化购买两块巧克力的总花费。

请你返回在购买两块巧克力后,最多能剩下多少钱。如果购买任意两块巧克力都超过了你拥有的钱,请你返回 money 。注意剩余钱数必须是非负数。

示例 1:

输入:prices = [1,2,2], money = 3
输出:0
解释:分别购买价格为 1 和 2 的巧克力。你剩下 3 - 3 = 0 块钱。所以我们返回 0 。
示例 2:

输入:prices = [3,2,3], money = 3
输出:3
解释:购买任意 2 块巧克力都会超过你拥有的钱数,所以我们返回 3 。

提示:

2 <= prices.length <= 50
1 <= prices[i] <= 100
1 <= money <= 100

java代码:

class Solution {
    public int buyChoco(int[] prices, int money) {
        // 从小到大排序
        Arrays.sort(prices);
        // 最小化购买两块巧克力的总花费
        int diff = money - (prices[0] + prices[1]);
        // 1、剩余钱数必须是非负数 2、如果购买任意两块巧克力都超过了拥有的钱,返回money
        return diff >= 0 ? diff : money;
    }
}


标签:钱数,巧克力,money,2706,算法,购买,prices,两块
From: https://blog.51cto.com/u_6813689/6598097

相关文章

  • LeetCode算法题---最长回文子串、N 字形变换(四)
    5.最长回文子串题目要求:给你一个字符串 s,找到 s 中最长的回文子串。如果字符串的反序与原始字符串相同,则该字符串称为回文字符串。示例1: 输入:s="babad"输出:"bab"解释:"aba"同样是符合题意的答案。 示例2:输入:s="cbbd"输出:"bb"提示:1<=s.length<=1000s仅由数字......
  • 递归算法理解 (一)
    Introduction递归算法是一种直接或者间接调用自身函数或者方法的算法。递归算法的实质是把问题分解成规模缩小的同类问题的子问题,然后递归调用方法来表示问题的解。递归算法对解决一大类问题很有效,它可以使算法简洁和易于理解。递归算法,其实说白了,就是程序的自身调用。它表现在......
  • 数据结构和算法-2023.06.30
    动态链表的生成和初衷......
  • 四种语言刷算法之LRU 缓存
    力扣146. LRU缓存1、Ctypedefstruct{intkey;intval;UT_hash_handlehh;}LRUCache;LRUCache*usr=NULL;intsize=0;LRUCache*lRUCacheCreate(intcapacity){size=capacity;returnusr;}intlRUCacheGet(LRUCache*obj,intke......
  • 万字长文解析最常见的数据库恢复算法: ARIES
    万字长文解析最常见的数据库恢复算法:ARIES首发地址:https://mp.weixin.qq.com/s/Kc13g8OHK1h_f7eMlnl4AwIntroduction上图中为基于WAL的数据库的一种可能的架构情况。其中,In-MemoryData为数据库数据在内存中的组织形式,可以是B树,也可以是hashtable或者其他可能的......
  • PID 的搜索算法(PSA)附matlab代码
    ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。......
  • 【基础算法】八大排序算法:直接插入排序,希尔排序,选择排序,堆排序,冒泡排序,快速排序(快排)
    ✔️前言......
  • 数据结构和算法的关系
    1.数据结构是一门研究组织数据方式的学科,有了编程呢个语言也就有了数据结构,学好数据结构可以编写出更加漂亮,更加有效率的代码2.要学好数据结构就要多多考虑如何将生活中遇到的问题,用程序去实现解决3.程序=数据结构+算法4.数据结构是算法的基础,换言之,要学好算法,需要把数据结构学......
  • 数据结构与算法
    数据结构和算法的重要性:1.算法是程序的灵魂,优秀的程序可以在海量数据计算时,依然保持高速计算。2.一般来讲,程序会使用了内存计算框架(比如Spark)和缓存技术(比如Redis等)来优化程序,再深入的思考一下,这些计算框架和缓存技术,他的核心功能是哪个部分呢?3.拿实际工作经历来说,在Unix下开发......
  • JavaScript aglo 算法 时间复杂度
    https://www.bigocheatsheet.com/https://www.hello-algo.com/chapter_preface/about_the_book/ gpt的回答好的,下面给出这些算法的JavaScript例子,并给出它们的时间复杂度分析:O(1)-常数时间复杂度:javascriptCopyCodefunctionconstantTimeAlgorithm(n){return2+......