ARTS打卡第2周

 A:Regular Expression Matching    Hard

Given an input string (s) and a pattern (p), implement regular expression matching with support for '.' and '*'.

'.' Matches any single character.
'*' Matches zero or more of the preceding element.

The matching should cover the entire input string (not partial).

Note:

  • s could be empty and contains only lowercase letters a-z.
  • p could be empty and contains only lowercase letters a-z, and characters like . or *.

解析:判断一个字符串s能否使用一个pattern进行解析,其中'.'表示任何从a-z的字符,'*'表示前一个字符出现的次数

思路:根据pattern的第一个字符是否和s匹配,如果不匹配,判断pattern 第二个字符是否为*,为* 可以表示前一个字符出现0次,去除前两个字符重新与s进行匹配,

如果匹配可以根据第二位是否为*,有pattern 去除前两个字符的分支和s去除第一个字符的分支

第二位不为*则pattern和s都去除第一个字符进行下一轮匹配的分支,有多种分支所以采用递归来解决当前问题,直到s和pattern同时为空时返回匹配。

解决方案:https://leetcode.com/submissions/detail/218690156/

R:https://www.programcreek.com/2014/05/top-10-mistakes-java-developers-make/  java程序员常犯的10个错误,

1.关于如何将数组转换成java.util.ArrayList(List<String> list = new ArrayList<String>(Arrays.asList(arr));)而不是java.util.Arrays.ArrayList class(List<String> list = Arrays.asList(arr);)

2.如何查找数组中是否包含某个元素,将数组转换成java.util.Arrays.ArrayList class 使用其中的contains方法

3.如何删除数组中的指定的元素,使用迭代器Iterator的next方法来控制数据遍历,使用remove方法删除对应的元素,直接使用list遍历删除会抛出ConcurrentModificationException的异常

4.Hashtable 和HashMap的区别,Hashtable是线程安全的,同步的

5.List中添加一个原始集合类型的数据,运行是会有问题

6.关于一个类中的方法和属性的权限的开放的方法和准则

7.ArrayList 和LinkedList的使用场景

8.关于父类和子类的构造方法的问题,子类的构造方法,父类中也需要有

9.可变对象和不可变对象的使用场景

10.关于字符串直接赋值和创建一个新的对象的区别

T:分享如何通过java和WCF接口进行交互,使用对应的wsdl地址生成对应的客户端代码,使用eclipse的WebserviceClient通过axis的方式生成客户端代码由于wsdl的格式不匹配,

无法生成对应的代码,最终通过jdk自带的wsimport -s 文件夹名称    wsdl地址来生成对应的代码,结果很顺利,未踩坑。

S:极客新闻:《技术人员应该停止学习框架,专注基础知识》,谈了关于框架和基础知识之间的取舍,基础知识是技术提高的基础,掌握了基础知识可以快速的了解新技术和新框架,

不盲目把时间都花在新的框架上,要多花时间在基础知识的掌握上,不同框架是对基础知识的不同的运用,不会跳出基础知识的范畴。

posted @ 2019-05-05 22:46  wujunjie007  阅读(146)  评论(0编辑  收藏  举报