You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于Unicode顺序的大小写不敏感字符去重排序实现思路咨询

问题需求
  • 输入第一行是测试用例数量,后续每一行对应一个测试用例
  • 每个测试用例包含1个或多个空格分隔的单词,单词字符来自Extended ASCII编码的256个任意字符
  • 输出要求:每个测试用例忽略空格,对字符做大小写不敏感去重后,按Unicode顺序升序排序,输出为单行字符串

示例输入

3 
Good day
Hello there!
You're my #1!

示例输出

adgoy
!ehlort
!#'1emoruy
实现思路

按以下步骤逐步处理即可:

  1. 读取第一行输入,转换为整数得到测试用例总数
  2. 遍历处理每个测试用例:
    • 逐字符遍历当前测试用例字符串,首先跳过所有空格字符
    • 维护一个已出现字符的集合,将当前字符统一转为小写后判断是否已经出现过:如果没出现过,就把小写形式加入待排序列表,同时把该小写字符标记为已出现
    • 对去重后的待排字符列表直接做默认排序,Python内置的字符排序逻辑默认就是按Unicode码点升序排列,完全符合题目要求
    • 将排序后的字符列表拼接为字符串直接输出即可
参考实现(Python)
n = int(input())
for _ in range(n):
    line = input()
    seen = set()
    unique_chars = []
    for c in line:
        if c == " ":
            continue
        lower_c = c.lower()
        if lower_c not in seen:
            seen.add(lower_c)
            unique_chars.append(lower_c)
    print("".join(sorted(unique_chars)))

内容的提问来源于stack exchange,提问作者Clover

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 01:15:09