1629. 按键持续时间最长的键
class Solution {
public char slowestKey(int[] releaseTimes, String keysPressed) {
int max=releaseTimes[0];
char max_c=keysPressed.charAt(0);
for(int i=1;i<releaseTimes.length;i++){
if(releaseTimes[i]-releaseTimes[i-1]>max){
max_c=keysPressed.charAt(i);
max=releaseTimes[i]-releaseTimes[i-1];
}else if(releaseTimes[i]-releaseTimes[i-1]==max){
if(keysPressed.charAt(i)-max_c>0){
max_c=keysPressed.charAt(i);
}
}else{
continue;
}
}
return max_c;
}
}
306. 累加数
class Solution {
public boolean isAdditiveNumber(String num) {
return dfs(num,0,0,0,0);
}
public boolean dfs(String num,int index,int count,long pre1,long pre2){
if(index==num.length()) return count>2;
long cur=0;
for(int i=index;i<num.length();i++){
char c=num.charAt(i);
if(num.charAt(index)=='0' && i>index){
return false;
}
cur=cur*10+(c-'0');
if (count >= 2) {
long sum = pre1 + pre2;
if (cur> sum) {
return false;
}
if (cur < sum) {
continue;
}
}
if(dfs(num,i+1,count+1,pre2,cur)){
return true;
}
}
return false;
}
}