摘要: 111->AK,KA,AAA 从左往右尝试的模型 char[],i 从i开始尝试 i=1 ->A 可以当一个,也可以当两个,但要排除0 i=2时可以当一个,也可以当两个,但第二个要<=6eg: 1 1 1 0 1 2拿1个位置去转 拿两个位置去转 同时判断拿1个位置或两个位置去转时是否是有效的,这个 阅读全文
posted @ 2021-09-04 19:58 sherry001 阅读(52) 评论(0) 推荐(0) 编辑
摘要: 要求不要出现重复的排列a a c思路:有重复字符的话在做选择时要去掉相同的字符选择第一个字符有两种选择(a,c)第二个字符也有两种选择(a,c)第三个字符只有一种选择 public static List<String> getAllC(String s){ //准备收集的结果集 List<Stri 阅读全文
posted @ 2021-09-04 17:08 sherry001 阅读(43) 评论(0) 推荐(0) 编辑
摘要: 全排列第一个字符有三种选择(a,b,c)第二个字符有两种选择,因为前面选过的字符不能再用第三个字符只有一种选择这个也是从左往右尝试的模型eg:a b c排列过程1:a b c2:a c b3:b a c4:b c a5:c a b6:c b a public static List<String> 阅读全文
posted @ 2021-09-04 16:26 sherry001 阅读(33) 评论(0) 推荐(0) 编辑
摘要: 有N件物品和一个最多能被重量为W 的背包。第i件物品的重量是weight[i],得到的价值是value[i] 。每件物品只能用一次,求解将哪些物品装入背包里物品价值总和最大。 /** * 0-1背包问题 * @param w w[index] 当前货物的总重量 * @param v v[index] 阅读全文
posted @ 2021-09-04 13:55 sherry001 阅读(50) 评论(0) 推荐(0) 编辑
摘要: 获取字符串的所有子序列 子序列:字符的相对位置不变,但可以选要与不要 打印所有子序列:从左往右依次的尝试模型 从第一个字符开始做决定,选择要与不要 eg: a b c 0 1 2 0: 要a,不要a1:要b ,不要b 2:要c ,不要c"",a,ab,ac,abc,b,bc,c暴力递归: publi 阅读全文
posted @ 2021-09-04 13:45 sherry001 阅读(66) 评论(0) 推荐(0) 编辑
摘要: 在经典汉诺塔问题中,有 3 根柱子及 N 个不同大小的穿孔圆盘,盘子可以滑入任意一根柱子。一开始,所有盘子自上而下按升序依次套在第一根柱子上(即每一个盘子只能放在更大的盘子上面)。移动圆盘时受到以下限制:(1) 每次只能移动一个盘子;(2) 盘子只能从柱子顶端滑出移到下一根柱子;(3) 盘子只能叠在 阅读全文
posted @ 2021-09-04 11:52 sherry001 阅读(222) 评论(0) 推荐(0) 编辑
摘要: 编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀,返回空字符串 ""。 示例 1: 输入:strs = ["flower","flow","flight"]输出:"fl"示例 2: 输入:strs = ["dog","racecar","car"]输出:""解释:输入不存在公共前缀 阅读全文
posted @ 2021-09-04 08:42 sherry001 阅读(43) 评论(0) 推荐(0) 编辑
摘要: 给定一个包含大写字母和小写字母的字符串,找到通过这些字母构造成的最长的回文串。 在构造过程中,请注意区分大小写。比如 "Aa" 不能当做一个回文字符串。 注意:假设字符串的长度不会超过 1010。 示例 1: 输入:"abccccdd" 输出:7 解释:我们可以构造的最长的回文串是"dccaccd" 阅读全文
posted @ 2021-09-04 08:07 sherry001 阅读(35) 评论(0) 推荐(0) 编辑