一些面试题

Q:假如有字符串“6sabcsssfsfs33” ,用最有快速的方法去掉字符“ab3”,不能用java内置字符串方法(indeOf,substring,replaceAll等)?
A:
暂时没有想到什么太好的方法,就先放上一个比较常规的思路的解法。
 1  public   class  RemoveSubString {
 2       public   static   void  main(String [] args)
 3      {
 4          String str = new  String( " 6sabcsssfsfs33 " );
 5           char  [] arr = str.toCharArray();
 6          StringBuffer sb = new  StringBuffer();
 7           for ( int  i = 0 ;i < arr.length;i ++ )
 8          {
 9               if (arr[i] != ' a ' && arr[i] != ' b ' && arr[i] != ' 3 ' )
10              {
11                  sb.append(arr[i]);
12              }
13          }
14          str = sb.toString();
15          System.out.println(str);
16      }
17  }
需要遍历一次字符串的长度,时间复杂度为O(n)。

Q: MVC模式的优点和缺点
A:
优点:
1. 分散关注点

2. 松散耦合

3. 逻辑复用

4. 标准定义

缺点:
1. 性能较低

2. 级联修改问题,特别是对于自上而下的逻辑实现

你可能感兴趣的:(一些面试题)