小招喵出生自大家族,这一天,小招喵拿到了生涯中的第一桶金,他就想给族人买鞋子,但是,为了后续生计,小招喵最多花费 元。 小招喵来到了商场,在柜台上初步挑选了 双鞋子,编号为 ~ ,其中,第 双鞋的售价为 ,实用价值可以量化为 ,擅长心算的小招喵马上就意识到,这是家黑店,售价与实用价值并不成比例。 于是,小招喵决定发挥自己的聪明才智,他在店家不注意的时候,偷偷更换了若干双鞋子的价格标签(也可能不做任何更换),那么,这一顿操作之后,在花费不超过限额的前提下,小招喵最多可以购买到实用价值总和为多少的鞋子?(假设小招喵的操作不会被店家发现,而且,店家严格按照鞋子的价格标签售卖) 只需要实用价值总和最大,而不要求花费必须最少。
区块链毕设网qklbishe.com为您提供问题的解答
小招喵出生自大家族,这一天,小招喵拿到了生涯中的第一桶金,他就想给族人买鞋子,但是,为了后续生计,小招喵最多花费 元。
小招喵来到了商场,在柜台上初步挑选了 双鞋子,编号为 ~ ,其中,第 双鞋的售价为 ,实用价值可以量化为 ,擅长心算的小招喵马上就意识到,这是家黑店,售价与实用价值并不成比例。
于是,小招喵决定发挥自己的聪明才智,他在店家不注意的时候,偷偷更换了若干双鞋子的价格标签(也可能不做任何更换),那么,这一顿操作之后,在花费不超过限额的前提下,小招喵最多可以购买到实用价值总和为多少的鞋子?(假设小招喵的操作不会被店家发现,而且,店家严格按照鞋子的价格标签售卖)
只需要实用价值总和最大,而不要求花费必须最少。
package main import ( "fmt" "sort" ) func maxRealValue(m int, sellPrice []int, realValue []int) int { // write code here sort.Ints(sellPrice) sort.Ints(realValue) total := 0 all := 0 for i := 0; i < len(sellPrice); i++ { total = total + sellPrice[i] if total <= m { all = all + realValue[len(sellPrice)-i-1] } } return all }
03:27
排序+贪心
假设和是绑在一起的,每双鞋用二元组来表征,我们可以先对鞋按照实际价值降序排列,这样就得到了一个按照实际价值降序的鞋序列。
依题意,小招喵能够做的是将进行交换,而保持住的递减规律不变。如此一来,我们就不难联想到冒泡排序、插入排序等排序算法,它们都是通过元素交换最终达到有序的。因此小招经过若干次交换操作也一定可以让序列升序,此时升序,降序,那么排在前面的鞋就是物美价廉的,直接在的花费限制内从左往右贪心购买就好了。
class Solution: def maxRealValue(self , m , sellPrice , realValue ): # write code here sellPrice.sort() realValue.sort(key=lambda x: -x) cost, ans = 0, 0 for i in range(len(sellPrice)): cost += sellPrice[i] if cost <= m: ans += realValue[i] return ans
编辑于 今天 18:33:36
importjava.util.*;
publicclassSolution {
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
* 返回能购买的最大的实用价值
* @param m int整型 牛牛的花费限额
* @param sellPrice int整型一维数组 每双鞋的售价
* @param realValue int整型一维数组 每双鞋的实用价值
* @return int整型
*/
publicintmaxRealValue (intm, int[] sellPrice, int[] realValue) {
// write code here
Arrays.sort(sellPrice);
intcount = 0;
for(inti=0; m > 0; i++){
m -= sellPrice[i];
if(m < 0)break;
count++;
}
Arrays.sort(realValue);
intres = 0;
for(inti=realValue.length -1; count>0; count–){
res += realValue[i];
}
returnres;
}
}
//求大神 我错在哪里了=。=
54:49
以上就是关于问题小招喵出生自大家族,这一天,小招喵拿到了生涯中的第一桶金,他就想给族人买鞋子,但是,为了后续生计,小招喵最多花费 元。 小招喵来到了商场,在柜台上初步挑选了 双鞋子,编号为 ~ ,其中,第 双鞋的售价为 ,实用价值可以量化为 ,擅长心算的小招喵马上就意识到,这是家黑店,售价与实用价值并不成比例。 于是,小招喵决定发挥自己的聪明才智,他在店家不注意的时候,偷偷更换了若干双鞋子的价格标签(也可能不做任何更换),那么,这一顿操作之后,在花费不超过限额的前提下,小招喵最多可以购买到实用价值总和为多少的鞋子?(假设小招喵的操作不会被店家发现,而且,店家严格按照鞋子的价格标签售卖) 只需要实用价值总和最大,而不要求花费必须最少。的答案
欢迎关注区块链毕设网-
专业区块链毕业设计成品源码,定制。
区块链NFT链游项目方科学家脚本开发培训
从业7年-专注一级市场
微信:btc9767
TELEGRAM :https://t.me/btcok9
具体资料介绍
web3的一级市场千万收益的逻辑
进群点我
qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台-javagopython毕设 » 小招喵出生自大家族,这一天,小招喵拿到了生涯中的第一桶金,他就想给族人买鞋子,但是,为了后续生计,小招喵最多花费 元。 小招喵来到了商场,在柜台上初步挑选了 双鞋子,编号为 ~ ,其中,第 双鞋的售价为 ,实用价值可以量化为 ,擅长心算的小招喵马上就意识到,这是家黑店,售价与实用价值并不成比例。 于是,小招喵决定发挥自己的聪明才智,他在店家不注意的时候,偷偷更换了若干双鞋子的价格标签(也可能不做任何更换),那么,这一顿操作之后,在花费不超过限额的前提下,小招喵最多可以购买到实用价值总和为多少的鞋子?(假设小招喵的操作不会被店家发现,而且,店家严格按照鞋子的价格标签售卖) 只需要实用价值总和最大,而不要求花费必须最少。
微信:btc9767
TELEGRAM :https://t.me/btcok9
具体资料介绍
web3的一级市场千万收益的逻辑
进群点我
qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台-javagopython毕设 » 小招喵出生自大家族,这一天,小招喵拿到了生涯中的第一桶金,他就想给族人买鞋子,但是,为了后续生计,小招喵最多花费 元。 小招喵来到了商场,在柜台上初步挑选了 双鞋子,编号为 ~ ,其中,第 双鞋的售价为 ,实用价值可以量化为 ,擅长心算的小招喵马上就意识到,这是家黑店,售价与实用价值并不成比例。 于是,小招喵决定发挥自己的聪明才智,他在店家不注意的时候,偷偷更换了若干双鞋子的价格标签(也可能不做任何更换),那么,这一顿操作之后,在花费不超过限额的前提下,小招喵最多可以购买到实用价值总和为多少的鞋子?(假设小招喵的操作不会被店家发现,而且,店家严格按照鞋子的价格标签售卖) 只需要实用价值总和最大,而不要求花费必须最少。
进群点我
qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台-javagopython毕设 » 小招喵出生自大家族,这一天,小招喵拿到了生涯中的第一桶金,他就想给族人买鞋子,但是,为了后续生计,小招喵最多花费 元。 小招喵来到了商场,在柜台上初步挑选了 双鞋子,编号为 ~ ,其中,第 双鞋的售价为 ,实用价值可以量化为 ,擅长心算的小招喵马上就意识到,这是家黑店,售价与实用价值并不成比例。 于是,小招喵决定发挥自己的聪明才智,他在店家不注意的时候,偷偷更换了若干双鞋子的价格标签(也可能不做任何更换),那么,这一顿操作之后,在花费不超过限额的前提下,小招喵最多可以购买到实用价值总和为多少的鞋子?(假设小招喵的操作不会被店家发现,而且,店家严格按照鞋子的价格标签售卖) 只需要实用价值总和最大,而不要求花费必须最少。
qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台-javagopython毕设 » 小招喵出生自大家族,这一天,小招喵拿到了生涯中的第一桶金,他就想给族人买鞋子,但是,为了后续生计,小招喵最多花费 元。 小招喵来到了商场,在柜台上初步挑选了 双鞋子,编号为 ~ ,其中,第 双鞋的售价为 ,实用价值可以量化为 ,擅长心算的小招喵马上就意识到,这是家黑店,售价与实用价值并不成比例。 于是,小招喵决定发挥自己的聪明才智,他在店家不注意的时候,偷偷更换了若干双鞋子的价格标签(也可能不做任何更换),那么,这一顿操作之后,在花费不超过限额的前提下,小招喵最多可以购买到实用价值总和为多少的鞋子?(假设小招喵的操作不会被店家发现,而且,店家严格按照鞋子的价格标签售卖) 只需要实用价值总和最大,而不要求花费必须最少。