题解 | #选牛比赛#

选牛比赛

https://www.nowcoder.com/practice/75df501809d14532a00e747666587873

#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
# 
# @param digits string字符串一维数组 
# @param n int整型 
# @return int整型
#
class Solution:
    def countEligibleCows(self , digits: List[str], n: int) -> int:
        # write code here
        n_str = str(n)
        n_len = len(n_str)
        digits_count = len(digits)

        # 计算长度小于 n_str 长度的所有合法编号数量
        total = 0
        for length in range(1, n_len):
            total += digits_count ** length

        # 计算长度等于 n_str 长度的合法编号数量
        i = 0
        while i < n_len:
            j = 0
            while j < digits_count:
                if int(digits[j]) < int(n_str[i]):
                    if i == n_len - 1:
                        total += 1
                    else:
                        total += (digits_count ** (n_len - i - 1))
                elif int(digits[j]) == int(n_str[i]):
                    if i == n_len - 1:
                        total += 1
                    else:
                        i += 1
                        j = -1
                j += 1
            i += 1

        return total

全部评论

相关推荐

凌小云:问题太大了,首先把教育背景放前面。不然简历不用看就看被pass了。然后两个项目写了和没写一样,不如商城+点评的描述。那专业技能,前面来个技术名,后面一点都不见具体那些了。你说你熟练java,说说java反射实现方式,那些地方用,io都有那些。这让面试官怎么问。这份简历看下来,没一点问的希望。看着技术栈用的多,亮点也没解决什么实际问题。很差的一份简历,患上技术堆砌的毛病了
我的简历长这样
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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