力扣-学生出勤记录

题目描述:

 力扣-学生出勤记录

 

 

 我的解法:

 1 class Solution {
 2     public boolean checkRecord(String s) {
 3         int sumA=0;
 4         boolean flag=true;;
 5         for(int i=0;i<s.length();i++){
 6             if(s.charAt(i)==‘A‘){sumA++;}
 7             if(i<(s.length()-2)&&(s.charAt(i)==‘L‘)&&(s.charAt(i+1)==‘L‘)&&(s.charAt(i+2)==‘L‘)){
 8                 flag=false;
 9             }
10         }
11         if((sumA<2)&&(flag==true)){
12             return true;
13         }else{
14             return false;
15         }
16     }
17 }

java基础知识:

  • 字符串获得长度:s.length()
  • 获取字符串指定位置的字符值:s.charAt(i)

大神解法:

1 public static boolean checkRecord(String s) {
2     return s.indexOf("LLL") < 0 && s.split("A", -1).length <= 2;
3 }

java基础知识:

  • int indexOf(String str): 返回指定字符在字符串中第一次出现处的索引,如果此字符串中没有这样的字符,则返回 -1。
  • public String[] split(String regex,int limit)  regex是正则表达式分隔符,limit是分割的份数。

    第二个参数有两种写法

    • 一种是比较直观的,直接输入要分割的份数a
    • 另一种是-1,输入-1可以理解为无限制匹配,也就是即使两个符号之间没有内容,也会在数组里面存一个空的值。第二个参数输入-1和不输入第二个参数的效果是一样的。

力扣-学生出勤记录

上一篇:六、kibana安装


下一篇:GC 年轻代 老年代 持久代