1、最近的请求次数
class RecentCounter {
Queue<Integer> queue;
public RecentCounter() {
queue=new LinkedList<>();
}
public int ping(int t) {
queue.add(t);
while (queue.size()>0&&t-queue.peek()>3000){
queue.poll();
}
return queue.size();
}
}
2、有效的括号
public boolean isValid(String s) {
char[] chars = s.toCharArray();
Stack<Character> stack=new Stack<>();
for (char c : chars) {
if (c=='('||c=='{'||c=='[') stack.push(c);
else {
if (stack.size()==0) return false;
else {
if (c==')'){
if (stack.peek()=='(') stack.pop();
else return false;
}else if (c=='}'){
if (stack.peek()=='{') stack.pop();
else return false;
}else if (c==']'){
if (stack.peek()=='[') stack.pop();
else return false;
}
}
}
}
return stack.size()==0;
}
3、存在重复元素
public boolean containsDuplicate(int[] nums) {
Set<Integer> set=new HashSet<>();
for (int num : nums) {
if (!set.add(num)) return true;
}
return false;
}
4、找不同
public char findTheDifference(String s, String t) {
int as=0,at=0;
for (int i = 0; i < s.length(); i++) {
as+=s.charAt(i);
}
for (int j = 0; j < t.length(); j++) {
at+=t.charAt(j);
}
return (char) (at-as);
}