算法
参宿_七
格物致知
展开
-
唯一解的数独题目生成器——理解回溯法
在生成数独题目时,流程是:生成一个完整的数独——随机挖空——解题——如果只有一个解,则生成该题目,如果有多个解,则重新挖空。数独题目的生成涉及的一个算法是回溯法,这里面的完整数独的生成、求解都用到了回溯法。1. 生成完整数独在生成部分,先生成所有宫的1,再生成所有宫的2,以此类推。主要有三个值:boolean[][][] placeable = new boolean[9][9...原创 2019-12-04 18:10:51 · 4289 阅读 · 0 评论 -
KMP算法理解-为什么要找前后缀?
KMP算法的作用是高效匹配字符串。 当我们要在A字符串中查找出现B字符串的位置时,首先想到的可能是暴力匹配(朴素字符串匹配),使用两层循环://暴力匹配法public class strStr { public static void main(String[] args) { String A="ABBABBABABAAABABAAA"; String B="ABBABA...原创 2019-11-29 11:37:53 · 1500 阅读 · 2 评论 -
一个值表示将帅合理位置问题
刚看到这个问题的时候,我不知道将帅合理位置是哪些,没玩过象棋,对围棋的理解也只停留在只要把对方围起来就好了。所以我需要去学习学习。知道了合理位置之后,我的想法是,那不就是用一个int型的整数表示吗,1-9表示九个位置,这么简单。额,这种想法的不足是要用两个值,一个保存将的位置,一个保存帅的位置。而不是一个值,可以说是审题不清吧。(那应该也可以用一个两位数的Int值表示吧,十位上表示将的位置...原创 2019-02-22 15:36:53 · 124 阅读 · 0 评论