LeetCode 216组合总和3(回溯法) class Solution { public List<List<Integer>> combinationSum3(int k, int n) { }}解决:1.什么时候返回?记录的值已经为三个,等于n就放入结果集中不等于n就返回2.注意1-9的范围 //记录结果的集 List<List<Integer...
LeetCode 40 组合总和2(回溯法) 解决:1.这个和39组合总和的差距在于每个数字只能使用一次所以在回溯过程中,下一个起始位置不能是i,必须是i+12.如果相邻两个位置的元素相等,还有可能存在重复解所以要对candidate[i]和candidate[i-1]进行判断剪枝 List<List<Integer>> result = new ArrayList<List<Integer&...
LeetCode 39 组合总和(回溯法) class Solution { public List<List<Integer>> combinationSum(int[] candidates, int target) { }}解决:1.对于第一个例子对target 7 分别减去每一个数组中元素后剩余为5,4,1,02.然后对剩余值再次进行同样减去数组中每一个元素...
LeetCode 1079活字印刷(回溯法) class Solution { public int numTilePossibilities(String tiles) { }}解决:使用回溯法,因为结果的不同,所以将结果存在set中比较合适在回溯过程中,可以使用一个boolean数组来记录该位置是否被访问过先添加到set中,然后再取没有被访问过的位置进行回溯. private Set<...
LeetCode 1219 黄金矿工(回溯法) class Solution { public int getMaximumGold(int[][] grid) { }}解决:1.哪些点可以作为起始点?遍历数组,只要不是0的位置都可以作为起始点2.寻找下一步位置的时候,如何判断走哪里用一个相同大小的boolean数组来记录走过的位置**,走过的位置记为true**3.下一个位置可以走哪里?...
LeetCode 22 括号生成(回溯法) class Solution { public List<String> generateParenthesis(int n) { }}解决:1.什么时候能添加左括号?只要左括号的数目小于给出的n就能继续添加左括号2.什么时候能添加右括号?只要右括号的数目还小于左括号的数目就能继续添加左括号3.什么时候放结果?只要当左括号数目和右括...
LeetCode 357 计算各个位数不同的数字个数(动态规划) class Solution { public int countNumbersWithUniqueDigits(int n) { }}解决:1.对于此题,如果n大于10则没有任何意义,因为一个十位数必定有重复的位数2.如果n等于1的话,它只用考虑个位,所以有十种情况3.如果n等于2的话要考虑情况只有个位数字:10种情况个位十位数字都有:十位可能...
LeetCode 17电话号码的字母组合(回溯法) 解决:1.使用回溯法进行解决,先记录下每个数字对应的字母有哪些.使用一个HashMap进行记录(key为数字,value为字母)2.注意传入的数字有可能有两个,也有可能有更多.3.如果传入的数字长度是0,则直接返回空即可对于传入的数字进行分解,先取第一个数字比如题目"23"中的2,然后再得到2对应的字母组合4.对字母组合中的每一个字符都进行遍历,然后再添加数字中的下一个数字,重复此操...
LeetCode 1239串联字符串的最大长度(回溯法) class Solution { public int maxLength(List<String> arr) { }}解决:可以先定义一个int类型的来记录当前最长的长度.1)回溯法进行遍历判断2)从list中第一个字符串开始,往后面添加list中下一个(j)字符串先判断是否含有重复字符,若含有则直接返回,返回后list删除掉刚...
LeetCode 1238 循环码排列(递归) class Solution { public List<Integer> circularPermutation(int n, int start) { }}解决:因为题目要求相邻两位的二进制表示形式只有一位不一样,首尾的二进制表示形式也只有一位不一样并且还规定了该排列以哪一个值开头.通过对题目示例分析可以看出当以0为开头时当n...
LeetCode 1237找出给定方程的正整数解 如果你想自定义测试,你可以输入整数 function_id 和一个目标结果 z 作为输入,其中 function_id 表示一个隐藏函数列表中的一个函数编号,题目只会告诉你列表中的 2 个函数。你可以将满足条件的 结果数对 按任意顺序返回。class Solution { public List<List<Integer>> findSolution(Cu...
Servlet三种创建/接口里面的方法/生命周期 一.URL打开百度首页随便搜索内容后,会出现https://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=1&rsv_idx=1&tn=baidu&wd=a&rsv_pq=c122c9dd0020c7c0&rsv_t=bea4FGcgHWh%2BkVEvNQ0jdx2x%2FoTwRzLc6DNMLetuwFp...
LeetCode (数组)两数之和 问题描述首先自己拿到题目还是想到暴力解法就是用两个for循环的方式,进行n*n遍历,如果两数结果相加等于target就返回 int last = 0; //用来记录target减去第一个数字后的剩余值 比如6-2,剩余的4就是last for(int i = 0;i < nums.length;i++){ last = ta...
课程设计/动态规划/JAVA/最小购物费用 采用java语言,使用了集合(数组+链表+哈希表)来进行存储.动态规划.(XATU)问题陈述:一朵花的价格是2元。一个花瓶的价格是5 元。为了吸引顾客,商店提供了一组优惠商品价商品有2种,依次分别为编号,需要购买的数量,单价优惠方案有2种,三朵花的价格是5元而不是6元.购买1个花和两个花瓶只需要十元.存储思路数组ArrayList里面存储的都是LinkedList数组存放对应的...
07 MyBatis的懒加载和缓存机制 一、先说说懒加载吧为什么要用它?当嵌套查询多层的时候,数据量非常大,而内存有限的情况下,使用它久能够节省内存.怎么用?设置在全局配置文件(mybatis-config.xml文件)的settings标签中 <settings> <setting name="lazyLoadingEnabled" value="true"></setti...
06 MyBatis强大特性 映射语句 一、resultMap(用来描述如何从数据库结果集中加载对象)用处:1.类似于全局配置文件中的Alias(别名)一样,在文件中定义后,在后面可以意使用.省去了多余的重复代码.2.可以解决数据库中数据的字段名和java对象中属性名不对应的问题.3.可以解决嵌套语句的映射问题.如何使用:在mapper标签里面,使用resultMap标签.这个id是它的标识,也就是名字,在被其他语句使用的时...