Python 实现:计算先递增再递减数组中不重复数字的个数
要解决这个问题,可以使用编程语言来实现。以下是使用 Python 语言的示例代码: ```python def count_unique_numbers(arr): unique_nums = set() increasing = True for num in arr: if increasing and (len(unique_nums) == 0 or num > list(unique_nums)[-1]): unique_nums.add(num) elif not increasing and (len(unique_nums) == 0 or num < list(unique_nums)[-1]): unique_nums.add(num) if len(unique_nums) > 1 and num < list(unique_nums)[-1]: increasing = False return len(unique_nums) # 测试示例 arr = [1, 2, 3, 4, 4, 3, 2, 1] print(count_unique_numbers(arr)) ``` 这个函数首先创建一个空的集合来存储唯一的数字。然后遍历数组,根据递增或递减的趋势添加数字到集合中。如果数字的趋势发生改变,更新标志。最后返回集合的大小,即不重复数字的个数。 ######[AI写代码神器 | 258点数解答 | 2024-08-28 00:42:55]
相关提问
- Python 运行报错:urllib3 网络连接创建失败,原因及排查建议(字节豆包 | 161点数解答 | 2024-10-31 00:39:36)489
- C++ 实现:精准统计给定范围 [L, R] 内数字 2 出现的次数及代码详解(字节豆包 | 401点数解答 | 2026-02-05 21:17:05)60
- C++实现:统计[L, R]范围内数字2出现的次数及代码详解(字节豆包 | 489点数解答 | 2026-02-07 17:12:26)75
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)371
- Python 实战:学生信息列表转字典、遍历、深拷贝及数据修改全流程(GPT | 422点数解答 | 2024-10-29 15:43:54)442
- Python实战:学生成绩列表转字典,深拷贝与数据修改操作全解析(字节豆包 | 254点数解答 | 2024-10-29 16:01:39)435
- Python:用正则表达式从含多种字符的字符串中提取英文、数字和中文单词(GPT | 522点数解答 | 2024-05-31 19:05:27)333
- Python:用正则表达式结合 split 思路提取一行字符串中的英文、数字和中文单词 (GPT | 399点数解答 | 2024-05-31 19:07:31)328
- 繁体字编码代码修改:人物名字合法性验证函数转简体版(字节豆包 | 325点数解答 | 2024-10-21 18:57:01)304
- 计算区间 n 到 m 中数字 x 出现次数的 Python 实现与详解(字节豆包 | 289点数解答 | 2025-12-07 17:14:59)94
- Python 实现:计算区间 n 到 m 中数字 x 出现的次数(字节豆包 | 322点数解答 | 2025-12-13 21:37:08)97
- C++实现计算最少添加数字次数以匹配两个数组元素(字节豆包 | 714点数解答 | 2026-03-08 19:44:54)29