牛客网每天一刷 2019/11/11

356 阅读1分钟

合并记录 (难度 *)

题目描述

数据表记录包含表索引和数值(int范围的整数),请对表索引相同的记录进行合并,即将相同索引的数值进行求和运算,输出按照key值升序进行输出。

输入描述
先输入键值对的个数
然后输入成对的index和value值,以空格隔开
输出描述
输出合并后的键值对(多行)
python版代码
a = input()
temp = []
keys = []
for i in range(0,int(a)):
    key_value = input().split(' ')
    keys.append(int(key_value[0]))
    temp.append({int(key_value[0]):int(key_value[1])})
keys = set(keys)
temp2 = []
for i in keys:
    count = 0
    for j in temp:
        k, = j
        v, = j.values()
        if i==k:
            count += v
    temp2.append([i,count])
for u in temp2:
    print(str(u[0]) + ' ' + str(u[1]))

提取不重复的整数 (难度 *)

题目描述

输入一个int型整数,按照从右向左的阅读顺序,返回一个不含重复数字的新的整数。

输入描述:
输入一个int型整数
输出描述:
按照从右向左的阅读顺序,返回一个不含重复数字的新的整数
python版代码

a = list(input())[::-1]

l2 = sorted(set(a),key=a.index)
strs = ''
for i in l2:
    strs+=i
print(strs)

字符个数统计 (难度 *)

题目描述

编写一个函数,计算字符串中含有的不同字符的个数。字符在ACSII码范围内(0~127),换行表示结束符,不算在字符里。不在范围内的不作统计。

输入描述:
输入N个字符,字符在ACSII码范围内。
输出描述:
输出范围在(0~127)字符的个数。
python版代码
def Counts(a:str):
    a = list(a)
    b = sorted(set(a),key=a.index)
    return len(b)
a = input()
print(Counts(a))