【精】LintCode领扣算法问题答案:1649. 超级棒棒糖

    科技2022-07-13  163

    1649. 超级棒棒糖

    描述

    超人强和猪猪侠都进入了百米赛跑的决赛。猪猪侠的速度为v1,超人强的速度为v2,猪猪侠可以在比赛前吃至多一支超级棒棒糖,现在给定n种超级棒棒糖,第i种超级棒棒能让猪猪侠的速度提高si,而它的价格为wi.给定v1,v2,s,w,请问猪猪侠至少要花多少钱才能在百米赛跑中战胜超人强?

    1 <= n,v1,v2,s[i],w[i] <= 100,它们都是整数猪猪侠可以选择不买棒棒糖题目保证猪猪侠有战胜超人强的方法

    样例 1:

    `v1=15,v2=20,s=[4,5,6,10],w=[2,1,30,31]`,返回`30` 解释: s[0]+v1<=v2 s[1]+v1<=v2 s[2]+v1>v2 s[3]+v1>v2 前两种棒棒糖不能给猪猪侠提供足以超过超人强的速度 对于后两种棒棒糖,由于第三种比较便宜,我们选择第三种,所以返回30

    原题传送门


    文章目录

    1649. 超级棒棒糖描述样例 1: 题解最后说两句声明


    题解

    public class Solution { /** * @param v1: the speed of GGbond * @param v2: the speed of SuperQ * @param s: the speed that lollipop can add * @param w: the cost of lollipop * @return: the minimal price */ public int getAns(int v1, int v2, int[] s, int[] w) { // Write your code here if (v1 > v2) { return 0; } int needMinS = v2 - v1 + 1; int minW = Integer.MAX_VALUE; for (int i = 0; i < s.length; i++) { if (s[i] >= needMinS) { if (w[i] < minW) { minW = w[i]; } } } return minW; } }

    最后说两句

    非常感谢你阅读本文章,如果你觉得本文对你有所帮助,请留下你的足迹,点个赞,留个言,多谢~

    作者水平有限,如果文章内容有不准确的地方,请指正。

    希望小伙伴们都能每天进步一点点。

    声明

    本文由二当家的白帽子博客原创,转载请注明来源,谢谢~

    Processed: 0.010, SQL: 8