华为2019校招实习笔试-软件题

这篇博客主要介绍了华为2019年校招实习的笔试题目,包含两道软件题目。第一题要求根据ASCII码顺序重新排列字符串中字符;第二题是一个跳跃游戏问题,需要找到达到最后一个数的最小跳跃次数。此外,还给出了示例输入和期望输出。
摘要由CSDN通过智能技术生成

1、给你一个原始字符串,根据该字符串内每个字符出现的次数,按照ASCII码递增顺序重新调整输出。

举例!假设原始字符串为:
eeefgghhh
则每种字符出现的次数分别是:
(1).eee        3次
(2).f          1次
(3).gg         2次
(4).hhh        3次
重排输出后的字符串如下:
efghegheh

编写程序,实现上述功能。

【温馨提示】
(1).原始字符串中仅可能出现“数字”和“字母”;

(2).请注意区分字母大小写。

import sys
#a='eeefgghhhA0'
a=sys.stdin.readline().strip()
if a.isalnum()!=True:
    exit

d={}
l=[]
for i in range(len(a)):
    if a[i] not in d:
        d[a[i]]=1
        l.append(a[i])
    else:
        d[a[i]]=d[a[i]]+1


maxnum=0
l2=[]
for j in range(len(l)):
    l2.append(d[sorted(l)[j]])
maxnum=sorted(l2)[-1]    

c=''
for m in range(maxnum):
    for n in range(len(l)):
        if d[sorted(l)[n]]==0:
            continue
        else:
            c=c+sorted(l)[n]
         
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值