题解 | #牛牛组数#

牛牛组数

http://www.nowcoder.com/practice/d4087657d86242169d2ed807d0d1410e

首先容易得知,和最大的k个数一定是k-1个1位数和1个n-k+1位数,且输入的x中的n个数字应如下分布:k个最小的数字填充到k个数的个位,其他数字从小到大依次填充到十位往上,构成最后的n-k+1位数。由于输入的数字只能是1到9,可以不用对x中数字排序,而是直接查找x中有多少个i(i=1,...,9),再从1到9顺序填充k个数,在这个过程中逐步计算结果就可以了。

#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
# 返回最大和的字符串
# @param x string字符串 即题目描述中所给字符串
# @param k int整型 即题目描述中所给的k
# @return string字符串
#
class Solution:
    def Maxsumforknumers(self , x , k ):
        # write code here
        index=0
        ans=0
        flag=True
        for number in range(1,10):
            count=x.count(str(number))
            if count==0:
                continue
            if flag:
                index+=count
                if index>=k:
                    index=index-k+1
                    count=count-index
                    ans+=int(str(number)*index)
                    flag=False
                ans+=number*count
            else:
                ans+=int(str(number)*count)*10**index
                index+=count
        return ans
全部评论

相关推荐

七牛云头号黑子:人家是过度包装被看出来没过简历,你是包都不包啊兄弟
点赞 评论 收藏
分享
2025-12-14 11:43
黑龙江大学 Java
用微笑面对困难:确实比较烂,可以这么修改:加上大学的qs排名,然后大学简介要写一些,然后硕士大学加大加粗,科研经历第一句话都写上在复旦大学时,主要负责xxxx,简历左上角把学校logo写上,建议用复旦大学的简历模板
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务