题目地址:
https://www.lintcode.com/problem/attendance-judgment/description
给定一个字符串,里面只含有 A , D , L A,D,L A,D,L三种字母(也可以缺其中的某个或者某几个)。问是否有连续的 3 3 3个 L L L出现或者是否 D D D出现了多于等于两次,如果是则返回true,否则返回false。代码如下:
public class Solution {
/**
* @param record: Attendance record.
* @return: If the student should be punished return true, else return false.
*/
public boolean judge(String record) {
// Write your code here.
if (record.contains("LLL")) {
return true;
}
int D = 0;
for (int i = 0; i < record.length(); i++) {
D += record.charAt(i) == 'D' ? 1 : 0;
}
return D >= 2;
}
}
时间复杂度 O ( n ) O(n) O(n),空间 O ( 1 ) O(1) O(1)。