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.
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,分享了三种不同时间管理的方法,
比较了对应的优缺点,具有学习实践的价值,认识到:时间不可管理,可管理的是你自己。
只有认识到这个原则,你才能坚持「时间管理」。管理你自己可不止包括管理任务,
还包括管理你的内心,如果你是一个没有计划的人,单单对于工作这件事来说,计划比随心更有效率。
原文地址:https://www.cnblogs.com/wujunjie-Blog/p/10816866.html