leetcode力扣每日一题2022.1.10---1629. 按键持续时间最长的键

我自己在做题时遇到的问题已经标出,可能你在做题时也会遇到喔,请一定注意!

package basis;

/**
 * @Author SouthWind
 * @Date 2022/1/9 19:58
 */

public class day_2022_1_9 {
    public static void main(String[] args) {
        int[] releaseTimes = {10,19,20,21,22,32};
        System.out.println(new day_2022_1_9().slowestKey(releaseTimes, "abodzo"));
    }

    public char slowestKey(int[] releaseTimes, String keysPressed) {
        int max = releaseTimes[0], a = 0,b = 0,n = releaseTimes.length;
        for (int i = 1; i < releaseTimes.length; i ++){
            b=releaseTimes[i]-releaseTimes[i-1];
            if (b>=max){
                if (max == b && keysPressed.charAt(i)<keysPressed.charAt(a)){	
                //注意:当前的字母的ASCII值是要与max对应的字母的ASCII作比较的 不一定是他的前一个。
                    continue;		/*注意continue和break的区别:
                    	break 主要用在循环语句或者 switch 语句中,用来跳出整个语句块。
                    	continue 适用于任何循环控制结构中。作用是让程序立刻跳转到下一次循环的迭代。*/
                } else {
                    a = i;
                    max = b;
                }
            }
        }
        return keysPressed.charAt(a);

    }
}

有很多事情,只有坚持才能看到希望,而不是看到希望才去坚持

你可能感兴趣的:(leetcode,算法,职场和发展,java)