首页 > 试题广场 >

最大值

[编程题]最大值
  • 热度指数:3817 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解

有一个只由字符'1'到'9'组成的长度为 的字符串 ,现在可以截取其中一段长度为 的子串并且将该子串当作十进制的正整数,如对于子串"123",其对应的十进制数字就是

如果想让这个正整数尽可能的大的话,问该正整数最大能是多少。

函数传入一个长度为 的字符串 和一个正整数 ,请你返回答案。

示例1

输入

"321",2

输出

32

说明

所有长度为  的子串为:"32"和"21",显然是最大的。   
示例2

输入

"1234",4

输出

1234

说明

所有长度为  的子串只有它自己本身,因此答案为  。   

备注:
#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
# 
# @param s string字符串 
# @param k int整型 
# @return int整型
#
class Solution:
    def maxValue(self , s , k ):
        # write code here
        ans = -1 
        for i in range(len(s)-k+1):
            ans = max(ans,int(s[i:i+k]))
        return ans

发表于 2022-12-16 17:22:33 回复(0)
class Solution:
    def maxValue(self , s , k ):
        # write code here
        s1 = list(map(int,str(s)))
        max1 = 0
        for i in range(len(s1)-k+1):
            s_temp = s1[i:i+k]
            temp = int(''.join([str(j) for j in s_temp]))
            if temp>max1:
                max1 = temp
        return max1
发表于 2022-04-02 10:13:01 回复(0)

问题信息

上传者:小小
难度:
2条回答 3988浏览

热门推荐

通过挑战的用户

查看代码
最大值