ARTS打卡第6周

A:  Subsets

题目:Given a set of distinct integers, nums, return all possible subsets (the power set).

Note: The solution set must not contain duplicate subsets.

题意:求一个不重复的数组的所有不重复的子集

思路:使用递归的方式求解,在对一个长度为n的数组求所有不重复的子集时:先记录当前的结果集,循环调用n次,对应的情况有是否记录当前位置的值,进行递归调用,

即先在集合中添加当前的项,递归完成之后再进行去除当前项的操作,这样就可以不用频繁的创建集合,添加当前结果集的时候需要注意不要直接添加集合,

应该新建一个集合对象,防止已经添加的集合被修改。

方案:https://leetcode.com/submissions/detail/225173150/

Word Search   

题目:Given a 2D board and a word, find if the word exists in the grid.

The word can be constructed from letters of sequentially adjacent cell, where "adjacent" cells are those horizontally or vertically neighboring.

扫描二维码关注公众号,回复: 6129475 查看本文章

The same letter cell may not be used more than once.

题意:求一个字符串是否能够在一个二维数组中找到,每个字母的位置需要是相邻的,并且每个位置只能使用一次(是否能在数组中一笔画出一个字符串,不能中断)

思路:使用递归的方式求解:先判段第一个元素是否能找到,找不到则完结,找到则继续,每次查找下一元素时,判段寻找到的位置是否存在,

寻找到的值是否满足提交,满足继续递归查找下一元素,向四个方向进行递归,上下左右。将已经找到的元素进行记录并且重置为0,防止元素被二次应用到,

如果当前的方案不成立则恢复为原有的值

方案:https://leetcode.com/submissions/detail/225483700/

R:http://open.163.com/movie/2010/12/G/F/M6UTT5U0I_M6V2T1JGF.html  网易公开课的麻省理工的算法导论第一课,

分析了算法在软件工程中的地位,介绍了这门课程的意义,

提供了一些关于算法运行时间的计算方式,分析了冒泡排序法和归并排序法的运行时间的计算过程,

希望通过系统化的学习算法课程,能够得到更多的提高,之后将继续学习这门课程,并进行分享。

T:java原生的md5加密,可以保证和其他公司对接时,不会因为使用的加密方法不同而花费过多的时间,

//java.security.MessageDigest;

MessageDigest md5 =MessageDigest.getInstance("MD5");//选择加密的方式
md5.update(param.getBytes("UTF-8"));//md5加密 设置对应的编码
String sign = new BigInteger(1, md5.digest()).toString(16).toUpperCase();//进行字节数组转换成对应的字符串

S:分享一篇关于时间管理的文章,http://www.ifanr.com/app/1090641,分享了三种不同时间管理的方法,

比较了对应的优缺点,具有学习实践的价值,认识到:时间不可管理,可管理的是你自己。

只有认识到这个原则,你才能坚持「时间管理」。管理你自己可不止包括管理任务,

还包括管理你的内心,如果你是一个没有计划的人,单单对于工作这件事来说,计划比随心更有效率。

猜你喜欢

转载自www.cnblogs.com/wujunjie-Blog/p/10816866.html