前言
本周是学习java的第四周,本周最大的收获是学习了容器框架和回溯算法
参考教程:
本周学习要点:
1.判断String相等时不要使用==而是用equals。
2.StringBuilder(一般使用)线程不安全,效率高,StringBuffer线程安全,效率低。区别于String是他们是可变字符序列。
3.在循环时字符串的拼接使用.append,否则会产生一大堆的对象占用空间。
4.日期的格式转换:
DateFormat df = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
String str = df.format(new Date());
Calendar calendar = new GregorianCalendar;
5.泛型可以理解为数据类型的一个占位符(形式参数),在用到时再传入实际类型
6.容器与数组的对比:数组不够容器灵活,但数组效率比容器高。
7.indexOf和lastIndexOf分别返回元素在列表中的第一个或者倒数第一个的索引
题目
找出所有相加之和为 n 的 k 个数的组合。组合中只允许含有 1 - 9 的正整数,并且每种组合中不存在重复的数字。
说明:
所有数字都是正整数。
解集不能包含重复的组合。
示例 1:
输入: k = 3, n = 7
输出: [[1,2,4]]
示例 2:
输入: k = 3, n = 9
输出: