遇到一个拆迁补偿选房问题,用户动迁一共补偿500个平方的面积,有10个房型(面积在60到140平方之间)供用户选择,需要找出5套、或者6套房型,加起来最接近500平方的选房方案。 从给定的元素中取出若干个元素,列出所有可能的排序结果。 网上有找到基础的做法是如下: /** * 组合:从数组a中选择n个数进行组合 */ public static void combinationSelect(int a[], int n){ System.out.println(String.format("C(%d, %d)= %…

2021-04-05 1条评论 3409点热度 1人点赞 admin 阅读全文

经常遇到List、ArrayList需要拼接成用逗号或者空格隔开的文本,或者类似的文本转成List,最基本的方法是迭代List里的每一项,然后加到这个String上去,但是最后有一个符号,需要特别处理下,虽然并不是很难,但是稍微有点繁琐,且不优雅,例如: StringBuilder string = new StringBuilder(); for (String name : names) { string.append(name).append(","); } string = new StringBuilde…

2021-03-20 0条评论 2470点热度 0人点赞 admin 阅读全文

介绍如何在Java中使用各种方法,列出文件夹下的文件(可根据一定的条件筛选,可分页) 这种方式暂时无法实现分页,需要分页请往下看 File dir = new File("/Users/Terry/Downloads"); File[] files = dir.listFiles(new FileFilter() { @Override public boolean accept(File file) { //实现筛选,符合筛选条件的,return true return false; } }); 利用Java8的…

2021-03-11 0条评论 1795点热度 0人点赞 admin 阅读全文

最近发现一个问题,Tomcat运行一段时间后,就会发生崩溃现象,查找tomcat的logs/catalina.out日志,发现很多 java.io.IOException: Too many open files这样的错误日志 继续查找,ps au|grep java 找到tomcat的PID,lsof -p PID 看到具体的打开文件很多都是我最近添加的代码里Files.list(Paths.get(baseDir)).filter(...)这里的文件 可是Files.list这种Stream的方式浏览文件,最后…

2021-01-11 1条评论 2070点热度 1人点赞 admin 阅读全文

重复N个字符连成一个字符串,比如生成5个连续的a的字符串aaaaa 最不用动脑筋的方法就是for循环里面用String/StringBuffer/StringBuilder等把string拼接起来 String repeatedString = ""; for (int i = 0; i < n; i++) { string = string + s; } 下面介绍稍微优雅一点的实现 //s是要重复的字符,n是重复次数,各种JDK版本通用 String repeatedString = new String(…

2021-01-10 0条评论 4782点热度 5人点赞 admin 阅读全文