
算法
文章平均质量分 91
Amos-Chen
只能永远把艰辛的劳动看作是生命的必要;即使没有收获的指望,也能心平气和的继续耕种。
展开
-
leetcode力扣-10.正则表达式匹配解析【递归与动态规划】
题目给你一个字符串 s 和一个字符规律 p,请你来实现一个支持 ‘.’ 和 ‘*’ 的正则表达式匹配。‘.’ 匹配任意单个字符‘*’ 匹配零个或多个前面的那一个元素所谓匹配,是要涵盖 整个 字符串 s的,而不是部分字符串。示例 1:输入:s = “aa” p = “a”输出:false解释:“a” 无法匹配 “aa” 整个字符串。示例 2:输入:s = “aa” p = “a*”输出:true解释:因为 ‘’ 代表可以匹配零个或多个前面的那一个元素, 在这里前面的元素就是 ‘a’。原创 2021-02-28 15:19:58 · 940 阅读 · 0 评论 -
【算法】欧几里得算法(辗转相除法)简易证明
题目来源近来看到书籍《算法图解》里面的一个例子:假设你是农场主,有一块土地,你要将这块地均匀地分为方块,且分出来的分块要尽可能的大。书中并未给出的解答过程就是用的欧几里得算法,具体证明过程无,我自己画了个图方便理解。步骤:从这块地1680x640中划出两个640x640的方块,剩下的土地使用同样的计算方法:适用于剩余小块地的最大方块,也是适用于整块地的最大方块从剩余的(1680-2*640=400)640x400的方块中,划出一块400x400从剩余的(640-400=240)400x原创 2020-07-17 22:32:01 · 1400 阅读 · 2 评论 -
【轮盘赌算法】给定List,元素越大取到的概率越大(越小)
背景数据库里面存储姓氏表,但是姓氏有权重,也就是说权重越大,被取到的概率越高。我是通过JAVA实现的,未通过SQL来实现(有点复杂)。参考参考此处 mr_orange_klj的博客已经在他的实现上做了改进!!具体实现package com.amos.learn.algol;import java.math.BigDecimal;import java.math.RoundingM...原创 2018-12-24 10:08:07 · 2818 阅读 · 0 评论