随笔分类 - Java.Algorithm
摘要:若需要名单,得用一String数组存储名字,一等长int数组存储名字对应的下标,然后或用Arranger类进行全排列(例程),或用Combination类进行N选M的组合(例程),之后再用条件过滤,剩下的就是符合条件的名单; 若不需要名单,只需要数量,使用数量多重循环方式,穷举出符合条件的数量即可(
阅读全文
摘要:【代码】 import java.util.ArrayList; import java.util.List; public class Arrange { static List<List<Integer>> res = new ArrayList<>(); public static void
阅读全文
摘要:【代码】 package test230421; import java.util.ArrayList; import java.util.List; public class Arrange { static List<List<Integer>> result = new ArrayList<>
阅读全文
摘要:下面提供了两份代码,进阶篇的效率几乎比入门篇提高一个数量级。 提高效率的根源在于将b转换为周长C和a的函数,因此用一重循环就解决了问题。 这种通过改变算法提高效率的方式值得推崇。 入门篇: package test221201; import java.util.Set; import java.u
阅读全文
摘要:排列组合中的组合器实现,附带4选2,6选3,8选4,10选5的输出效果。
阅读全文
摘要:【需求】 有一个List,要求每次处理100个。 【代码】 int n=1523;// 链表长度 int start=0,end; int STEP=100; for(;;){ end=start+STEP; if(end>n){ end=n; System.out.println("Start="
阅读全文
摘要:LRU缓存机制运用你所掌握的数据结构,设计和实现一个 LRU (最近最少使用) 缓存机制。它应该支持以下操作: 获取数据 get 和 写入数据 put 。 获取数据 get(key) - 如果密钥 (key) 存在于缓存中,则获取密钥的值(总是正数),否则返回 -1。写入数据 put(key, va
阅读全文
摘要:问题: LRU缓存机制运用你所掌握的数据结构,设计和实现一个 LRU (最近最少使用) 缓存机制。它应该支持以下操作: 获取数据 get 和 写入数据 put 。 获取数据 get(key) - 如果密钥 (key) 存在于缓存中,则获取密钥的值(总是正数),否则返回 -1。写入数据 put(key
阅读全文
摘要:问题: 重复的DNA序列 所有 DNA 都由一系列缩写为 A,C,G 和 T 的核苷酸组成,例如:“ACGAATTCCG”。在研究 DNA 时,识别 DNA 中的重复序列有时会对研究非常有帮助。 编写一个函数来查找 DNA 分子中所有出现超过一次的 10 个字母长的序列(子串)。 示例: 输入:s
阅读全文
摘要:程序很简单,无须赘述。 竖向输出方式: public class Test { public static void main(String[] args) { int n=0; for(n=1;n<10;n++) { for(int i=1;i<=n;i++) { System.out.print
阅读全文
摘要:网文提到表格驱动,总喜欢拿一层if做例子,然而这样未免也太简单. 下文是三层缩进的if和表驱动比较,大家可自行判断优劣. 业务是这样的,某景点分旺季票价和淡季票价,淡季票为旺季的一半,15岁以下孩子再减半,60岁以上老人再三三折,成人中有军官证的再打二五折,有士兵证的打两折.(假定非实际业务,勿对号
阅读全文
摘要:使用牛顿中值法求2^x=5-x的近似根示例,代码用Java写成。
阅读全文
浙公网安备 33010602011771号