
算法
强运
这个作者很懒,什么都没留下…
展开
-
希望你能懂的动态规划算法-----硬币问题
1. 题目如下2. 动态规划思路动态规划的具体思路:如上图 :1. 第一层的dp(11)表示没有硬币加入2. 第二层的1+dp(11-1)表示硬币1加入 (+1表示有一个硬币加入)3. 第三层 得到dp(0)实现上述方法, 我们要求出dp(1) dp(2) dp(3)…都等于多少就可以得到dp(11)的值表格1:我们求出当只有硬币1 的时候dp(0)到dp(11)的所需的硬币个数分别为dp(1) 1个dp(2) 2个………dp(11) 11个详细计算看 表格2原创 2020-09-09 18:50:00 · 817 阅读 · 0 评论 -
用JS实现 无重复字符的最长子串
/** * 无重复字符的最长字串 */var lengthOfLongestSubstring = function (s: string) { let m = s, j = 1, maxStrLength = 0, str; /** * 判断是否超出字符串范围 * 或者剩余字符串长度小于最大字符串长度 */ while (m[j] && m.length > maxStrLength) { /** * 截取不重复字符原创 2020-08-16 21:21:56 · 479 阅读 · 0 评论 -
JS 使用非矩阵实现, 寻找最大公共字符串
let str1 = 'asdwfjwakjgwakljgfwgjwighjwihjawijgaiowgzlksgjklwajklqmnfklmklqjdfklwjdklawjdklajwwfdklwjdklawjdklajwdljawlkdjkalwjdklawjgzkljfkwjfklzwjfjfklmklqjdfklwjdklawjdklajwwf';let str2 = 'awlgkawlzmvfklwjfkljfklwajflkawjfklawjjakljcklwajfklawwalfk原创 2020-08-14 22:52:38 · 223 阅读 · 0 评论 -
JS 实现找出字符串中第一个不重复的字符
let str = "firstUniqueChar(vfdcdvc)"; //测试用字符串for(let x of str) { let reg = new RegExp(`${x}`,'g'); //创建正则 if (str.match(reg).length == 1) { // 匹配正则, 如果匹配超过1个, 则表示有重复, 跳过, // 如果只匹配到一个, 则输出 console.log(x); //输出第一个不重复的字符 br.原创 2020-08-05 02:29:24 · 1111 阅读 · 0 评论 -
用JS中ES6的CLASS创建排序二叉树
1. 根据插入的数据最终应展示的结果具体代码class treeNode { value: any; left: treeNode | null; right: treeNode | null; constructor(value: any) { this.value = value; this.left = null; this.right = null; }}class tree { tree原创 2020-07-26 16:43:32 · 375 阅读 · 0 评论 -
可以看看我用js 写的插入排序
function insertSort(array) { let count = 0; //记录每次往前插的最后一位 let mid = 0; //冒泡交换 for(let i = 1; i < array.length; i++) { if(a[i-1] > a[i]) { // 一个一个往前比较 mid = a[i]; //开始冒泡 for(let j = i - 1; j>=0; j--) { //判断前面有几个比a[i]大原创 2020-07-19 02:17:06 · 75 阅读 · 0 评论