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

字节青训营 红包运气排行榜

👨‍🏫 题目地址
在这里插入图片描述

import java.util.*;public class Main {// 定义一个用户红包类static class UserRedPacket {String name; // 用户名int amount;  // 红包金额UserRedPacket(String name, int amount) {this.name = name;this.amount = amount;}}public static List<String> solution(int n, List<String> s, List<Integer> x) {// 创建用户红包列表List<UserRedPacket> userRedPackets = new ArrayList<>();// 创建一个 Map 记录用户名和对应的红包金额Map<String, Integer> userAmountMap = new HashMap<>();// 遍历输入的用户名和红包金额for (int i = 0; i < n; i++) {String userName = s.get(i); // 获取当前用户名int amount = x.get(i);      // 获取当前红包金额// 如果用户名已经存在,累加金额if (userAmountMap.containsKey(userName)) {userAmountMap.put(userName, userAmountMap.get(userName) + amount);} else {// 否则,添加新的用户名和金额userAmountMap.put(userName, amount);userRedPackets.add(new UserRedPacket(userName, amount));}}// 更新用户红包列表中的金额for (UserRedPacket user : userRedPackets) {user.amount = userAmountMap.get(user.name);}// 根据红包金额进行稳定排序userRedPackets.sort((a, b) -> {if (a.amount == b.amount) {return 0; // 金额相同,保持原有顺序} else {return b.amount - a.amount; // 金额不同,按金额降序排序}});// 提取排序后的用户名List<String> result = new ArrayList<>();for (UserRedPacket user : userRedPackets) {result.add(user.name);}return result;}public static void main(String[] args) {// 测试用例System.out.println(solution(4, Arrays.asList("a", "b", "c", "d"), Arrays.asList(1, 2, 2, 1)).equals(Arrays.asList("b", "c", "a", "d")));System.out.println(solution(3, Arrays.asList("x", "y", "z"), Arrays.asList(100, 200, 200)).equals(Arrays.asList("y", "z", "x")));System.out.println(solution(5, Arrays.asList("m", "n", "o", "p", "q"), Arrays.asList(50, 50, 30, 30, 20)).equals(Arrays.asList("m", "n", "o", "p", "q")));}
}

http://www.mrgr.cn/news/59552.html

相关文章:

  • 乐维网管平台(一):如何精准掌控 IP 管理
  • 要用PHP开发一个网页,允许用户暂定以1元人民币兑换EACO,并根据EACO价格波动兑换中东国家的货币
  • 梯形图【PLC】
  • 深入理解Python异常处理机制
  • ​【Java基础面试题2】
  • 【verilog】四位全加器
  • 初始JavaEE篇——多线程(4):生产者-消费者模型、阻塞队列
  • 【无人机设计与控制】改进人工势场法,引入模糊控制实现无人机路径规划和避障
  • mongodb:增删改查和特殊查询符号手册
  • 探索Python安全字符串处理的奥秘:MarkupSafe库揭秘
  • 轻松构建高效 API:FastAPI 的主要特点与实战应用20241027
  • Spring Boot技术在学生宿舍管理系统中的创新
  • 【工具使用】VSCode如何将本地项目关联到远程的仓库 (vscode本地新项目与远程仓库建立链接)
  • C语言初阶:十.结构体基础
  • 使用 Docker 管理完整项目:Java、Vue、Redis 和 Nginx 的一站式部署
  • ubuntu20上部署gitlab并开启ipv6访问
  • 【Java Maven框架】
  • 【数据结构】宜宾大学-计院-实验五
  • 计算机毕业设计Java银行存取系统 银行交易管理系统 金融数据处理 用户存取管理系统(源码+定制+开发)
  • YOLOv11/10/8算法改进【NO.151】引入用于密集图像预测的频率感知特征融合
  • JavaSE——反射
  • Python实现微博舆情分析的设计与实现
  • Pytest-Bdd-Playwright 系列教程(3):支持测试用例并行执行
  • python编程-闭包
  • 【unity】【游戏开发】Unity代码不给提示怎么办?
  • 租房业务全流程管理:Spring Boot系统应用