您的位置:首页 > 文旅 > 美景 > 免费下载app软件官网_什么是电子商务采购_品牌推广策略_最靠谱的十大教育机构

免费下载app软件官网_什么是电子商务采购_品牌推广策略_最靠谱的十大教育机构

2025/2/24 7:22:00 来源:https://blog.csdn.net/qq_40266376/article/details/143934033  浏览:    关键词:免费下载app软件官网_什么是电子商务采购_品牌推广策略_最靠谱的十大教育机构
免费下载app软件官网_什么是电子商务采购_品牌推广策略_最靠谱的十大教育机构

青训10_1121_01_游戏排名第三大的分数.md

文章目录

  • 青训10_1121_01_游戏排名第三大的分数.md
      • 问题描述
      • 测试样例
      • 示例
    • 思路:
    • 答案
    • 注意点
      • 1、关于[] 在python和java的区别
        • 解释
      • 2、那java中list变成jason是[],而不是{}吗
        • 解释:

问题描述

小M想要通过查看往届游戏比赛的排名来确定自己比赛的目标分数。他希望找到往届比赛中排名第三的分数,作为自己的目标。具体规则如下:如果分数中有三个或以上不同的分数,返回其中第三大的分数。
如果不同的分数只有两个或更少,那么小M将选择最大的分数作为他的目标。
请你帮小M根据给定的分数数组计算目标分数。

测试样例

样例1:

输入:n = 3,nums = [3, 2, 1]
输出:1

样例2:

输入:n = 2,nums = [1, 2]
输出:2

样例3:

输入:n = 4,nums = [2, 2, 3, 1]
输出:1

示例

def solution(n: int, nums: list) -> int:# write code herereturn 0if __name__ == '__main__':print(solution(3, [3, 2, 1]) == 1)print(solution(2, [1, 2]) == 2)print(solution(4, [2, 2, 3, 1]) == 1)

思路:

本人:

1 数组只要判断数量<=2一个逻辑,获取最大值进行更新返回即可
2  >=3一个逻辑,进行排序,返回第三个数即可。

答案

def solution(n: int, nums: list) -> int:# 去重并降序排序unique_nums = sorted(set(nums), reverse=True)# 如果不同的分数少于3个,返回最大值if len(unique_nums) < 3:return unique_nums[0]# 返回第三大的分数return unique_nums[2]if __name__ == '__main__':print(solution(3, [3, 2, 1]) == 1)print(solution(2, [1, 2]) == 2)print(solution(4, [2, 2, 3, 1]) == 1)

注意点

1、关于[] 在python和java的区别

疑问来源:我有个疑问,[]这种括号是表示list还是set。因为java中是表示数组,list是{},还是python不一样呢。[3, 2, 1]

解释

在 Python 中,[3, 2, 1] 这种方括号语法表示的是列表(List),不是集合(Set)。让我详细解释 Python 中的数据结构:

  1. 列表 List: 使用方括号 []
my_list = [3, 2, 1]  # 列表,可以包含重复元素,有序

2、集合 Set: 使用花括号 {}set()

my_set = {3, 2, 1}  # 集合,不包含重复元素,无序
# 或者
my_set = set([3, 2, 1])  # 使用set()函数创建集合

主要区别:

  • List 允许重复元素,保持元素顺序
  • Set 不允许重复元素,不保证顺序

在我之前的解决方案中,set(nums) 是将输入的列表转换为集合,以去除重复元素。

示例对比:

# List
nums_list = [3, 2, 1, 2]  # 允许重复
print(nums_list)  # 输出: [3, 2, 1, 2]
print(len(nums_list))  # 输出: 4# Set
nums_set = set([3, 2, 1, 2])  # 去除重复
print(nums_set)  # 输出: {1, 2, 3}
print(len(nums_set))  # 输出: 3

这与 Java 有些不同。Java 中:

  • [] 通常表示数组
  • List 是接口,实现通常是 ArrayList<>()
  • Set 的实现如 HashSet<>()

Python 在这方面更简洁灵活。希望这个解释能帮助您理解 Python 中的列表和集合!

2、那java中list变成jason是[],而不是{}吗

解释:

在 Java 中,List 转换为 JSON 时,实际上是使用 [](方括号),而不是 {}(花括号)。

JSON 中的表示:

  1. List/数组 → [1, 2, 3]
  2. 对象/Map → {"key": "value"}

Java 中的转换示例:

// 使用 Jackson 库
ObjectMapper mapper = new ObjectMapper();
List<String> list = Arrays.asList("apple", "banana", "cherry");
String jsonString = mapper.writeValueAsString(list);
// jsonString 会是 ["apple", "banana", "cherry"]// 使用 Gson 库
Gson gson = new Gson();
String jsonString = gson.toJson(list);
// jsonString 也会是 ["apple", "banana", "cherry"]

所以,List 在 JSON 中始终是 [],不是 {}。花括号 {} 通常用于表示对象或映射。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com