竞赛讨论区 > 牛客S2赛季巅峰赛第6场代码
头像
大大怪0_0
发布于 2020-12-04 21:10
+ 关注

牛客S2赛季巅峰赛第6场代码

import java.util.*;


public class Solution {
    /**
     * 
     * @param k int整型 表示最多的操作次数
     * @param s string字符串 表示一个仅包含小写字母的字符串
     * @return int整型
     */
    public int string2 (int k, String s) {
        // write code here
        int l = s.length();
        int []a= new int [l];
        for(int i =0 ; i < l; i ++){
            a[i] = s.charAt(i)-'a';
        }
        Arrays.sort(a);
        
        int max = 0;
        int y = k;
        for(int i = 0; i <l; i++){
            y = k;int ans = 1;
            int j = 1;int t =  1;
            while(i-j>=0&&i+t<l){
                if(a[i]-a[i-j] > a[i+t]-a[i]){
                    y -= a[i+t]-a[i];
                    t ++;
                }else{
                    y -= a[i]-a[i-j];
                     j++;
                }
                if(y <0) break;
                ans ++;
            }
            while(i - j >=0){
                y -= a[i] - a[i-j];
                j ++;
                if(y <0) break;
                ans ++;
            }
            while(i+t <l){
                y-=a[i+t]-a[i];
                t ++;
                if(y <0) break;
                ans ++;
            }
            max = Math.max(ans,max);
        }
         return max;
    }
}

全部评论

(0) 回帖
加载中...
话题 回帖

等你来战

查看全部

热门推荐