蓝桥杯笔记2
对蓝桥杯进行一个临时抱佛脚1.排序集合排序123java.util.Collections.sort(java.util.List)java.util.Collections.sort(java.util.List, java.util.Comparator)
Arrays.sort();Arrays.sort(int[] a, int fromIndex, int toIndex); //Arrays.sort(数组名,起始下标,终止下标); //(默认排序为升序排序)
如果一个数组初始化时已经赋值。则sort函数可以另外一种格式
Arrays.sort(数组名);
sort函数的格式变为: Arrays.sort(数组名, 起始下标, 终止下标, new cmp());
Set排序Set是一类集合,简单来说就是将元素去重,没有顺序地放进集合里边
放到TreeSet里面排序
12345678910111213141516 Set<String> set = new HashSet< ...
蓝桥杯笔记 关于递归
蓝桥杯笔记 关于递归类型一
全排列,比如现在有字符串”abc”,它还可以有”acb”, “bac”, “bca”, “cab”, “cba”等排列方式. 通过全排列的方式可以得到全部符合条件的结果, 然后再从可能的结果中选出符合要求的结果.大部分情况需要考虑回溯.
例题: 带分数
100 可以表示为带分数的形式:100 = 3 + 69258 / 714
还可以表示为:100 = 82 + 3546 / 197
注意特征带分数中,数字1~9分别出现且只出现一次(不包含0)。
类似这样的带分数,100 有 11 种表示法。
1234567891011121314题目要求:从标准输入读入一个正整数N (N<1000*1000)程序输出该数字用数码1~9不重复不遗漏地组成带分数表示的全部种数。注意:不要求输出每个表示,只统计有多少表示法!例如:用户输入:100程序输出:11再例如:用户输入:105程序输出:6
观察题目发现:
1.每个数字只能出现一次(没有0)
2.每一次排列后,都需要进行回溯,归位每个数字原来的位置(1,2,3,4,5,6 ...