type
status
date
slug
summary
tags
category
icon
password
Last edited time
May 2, 2024 11:52 AM
虾皮春招笔试题解(0429)
📝 主旨内容
组成最大的数(排序,思维)
给定一个int数组nums,排列每个数的顺序(每个数不可拆分)使之组成一个最大的整数。
详细描述
给定一个int数组nums,排列每个数的顺序(每个数不可拆分,比如12不能拆成1和2), 使之组成一个最大的整数。
注意:输出结果可能非常大,所以返回一个字符串而不是整数。
其他
时间限制: 1000ms
内存限制:256.0MB
输入输出示例
示例1
输入
输出
示例2
输入
输出
由于需要比较两个元素放在前面还是放在后面好,所以普遍用的
sort
是不起作用的,因为涉及到两个元素的比较,而不是元素内的优先级死去的回忆突然攻击我,
cmp
,在python内叫cmp_to_key
反转语句(字符串,模拟)
详细描述
将指定字符串中每个单词的字符顺序反转,需要保留空格和单词的初始顺序不变。
提示:
- 在字符串中,每个单词由单个空格分隔,并且字符串中不会有任何额外的空格。
其他
时间限制: 1000ms
内存限制:256.0MB
输入输出示例
示例1
输入
输出
根据空格分隔开字符串然后分别反转再拼接
购买最多的LOL英雄(贪心,排序)
详细描述
英雄联盟游戏中新出 n 个英雄,用长度为 n 的数组 costs 表示每个英雄的定价,其中 costs[i] 表示第 i 个英雄的点券价格。假如你一共有 coins 点券可以用于消费,且想要买尽可能多的英雄并且选择英雄按costs[i]给出顺序获取。
给你价格数组 costs 和金币量 coins ,请你计算并返回用 coins 金币能够买到最多的英雄列表。
其他
时间限制: 1000ms
内存限制:256.0MB
输入输出示例
示例1
输入
输出
说明
costs:[2,1,3,4,5] coins:10 能买到的最多英雄为4个,返回 [2,1,3,4]
示例2
输入
输出
说明
costs:[10,5,6,11,2,3] coins:10 能买到的最多英雄为3个,返回 [5,2,3]
示例3
输入
输出
说明
costs:[15,10,11,10] coins:5 能买到的最多英雄为0个,返回 []
因为每个英雄的价值都是相同的,所以这道题是贪心而不是背包
先按照花费排序,选到钱不够位置,最后输出答案时需要按照原来的下标排序
🤗 总结归纳
整体比较简单,就是第一题的
cmp_to_key
,这个语法之前还没接触过📎 参考文章
- 作者:ziuch
- 链接:https://ziuch.com/article/Shopee-Spring-Recruitment-Test-0429
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。