首页 > 试题广场 >

最大值

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

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

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

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

示例1

输入

"321",2

输出

32

说明

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

输入

"1234",4

输出

1234

说明

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

备注:
import java.util.*;


public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param s string字符串 
     * @param k int整型 
     * @return int整型
     */
    public int maxValue (String s, int k) {
        // write code here
        int max=Integer.MIN_VALUE;
        for(int i=0;i<=s.length()-k;i++){
            int num=Integer.valueOf(s.substring(i,i+k));
            max=Math.max(num,max);
        }
        return max;
    }
}

发表于 2023-06-24 11:34:59 回复(0)
public int maxValue (String s, int k) {
        int[] a=new int[s.length()-k+1];
        for(int i=0;i+k-1<s.length();i++)
        a[i]=Integer.valueOf(s.substring(i,i+k)).intValue();
        return Arrays.stream(a).max().getAsInt();
    }

发表于 2022-05-13 11:53:32 回复(0)
import java.util.*;


public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param s string字符串 
     * @param k int整型 
     * @return int整型
     */
    public int maxValue (String s, int k) {
        // write code here
        int max = 0;
        for (int i = 0; i < s.length()-k+1; i++) {
            int parseInt = Integer.parseInt(s.substring(i, i + k));
//            String substring = s.substring(i, i + k);
            max = Math.max(max,parseInt);
        }
        return max;
    }
}

发表于 2021-12-31 14:27:30 回复(0)

问题信息

上传者:小小
难度:
3条回答 3076浏览

热门推荐

通过挑战的用户

查看代码