算法
Hundredl
这个作者很懒,什么都没留下…
展开
-
分支限界法 | 带期限作业排序 | Java实现
写在前面欢迎讨论~问题描述允许作业有不同的处理时间,每个作业i与一个三元组联系(pi, di, ti)。目标:n个作业的子集合J,J中的作业都能在相应的期限内完成,且不在J中的作业招致的罚款总额最小。例:n=4,(p1,d1,t1)=(5,1,1),(p2,d2,t2)=(10,3,2),(p3,d3,t3)=(6,2,1),(p4,d4,t4)=(3,1,1),Java 实现main.java包含测试数据。LCBB.java为算法实现主体。Node.java是结点类。Nod原创 2020-05-28 12:38:48 · 1321 阅读 · 0 评论 -
字符序列问题及解决 |Java实现
问题描述从三个元素的集合[A,B,C]中选取元素生成一个N个字符组成的序列,使得没有两个相邻字的子序列(子序列长度=2)相同。例:N = 5时ABCBA是合格的,而序列ABCBC与ABABC是不合格的,因为其中子序列BC,AB是相同的。对于由键盘输入的N(1<=N<=12),求出满足条件的N个字符的所有序列和其总数。测试数据:输入:4输出:72求解思路回溯法深度遍历。Java实现import java.lang.reflect.Array;import java.util原创 2020-05-18 14:34:04 · 658 阅读 · 0 评论 -
KMP算法实现 |单模字符串匹配
写在前面KMP算法是经典的单模字符串匹配算法。当模式串和主串已经匹配一部分的情况下失配时,暴力匹配采取的是,回溯主串和模式串的指针,使其达到模式串相对于主串向后移动一位的效果,因为原主串和模式串已经部分匹配成功,此处仅向后挪动一位的从头匹配,相当于模式串自己和自己错位匹配,暴力算法主要浪费时间就在此处。KMP算法解决的就是这个问题,先让模式串自己与自己错位匹配,大概率是匹配失败的,KMP算法找到...原创 2020-04-13 12:19:19 · 206 阅读 · 0 评论