
算法
zbbzb
这个作者很懒,什么都没留下…
展开
-
麻将查表法(1)
参考麻将程序对和牌判断的逻辑是什么?有比「暴力搜索」更先进的算法么?日本解决方法(需要翻墙)题记开始优化麻将胡法,首先反应理论上查表是最快的,但是没有对查表使用的印象,于是看看有没有参考的,开始参考日本的查表,基本胡牌,再加上一些特殊胡牌方式,因为是日麻,百搭还有字成顺没有,那就先开始这个来先熟悉下查表法查表法思路很简单,也就是把所有可能全部列成表,一个key对应一个value,根据k...原创 2019-05-24 15:58:44 · 2924 阅读 · 0 评论 -
DFS实践 - 简单版基础麻将胡牌所有可能
参考回溯算法团灭排列/组合/子集问题回溯算法最佳实践:合法括号生成麻将胡牌麻将的牌, 出去春夏秋冬, 基本牌136张颜色\值0x010x020x030x040x050x060x070x080x090x100x11/一万0x12/二万0x13/三万0x14/四万0x15/五万0x16/六万0x17/七万0x18/八万0x19/九万0x200x21/一筒0x22/二筒0x23/三筒0x24/四筒0x25/五筒0x26/六筒0x2原创 2021-02-22 22:12:59 · 557 阅读 · 0 评论 -
回溯, dfs解决组合问题
前言:记录下参考地址:回溯算法团灭排列/组合/子集问题习题:子集全排列组合原创 2020-11-15 15:17:29 · 202 阅读 · 1 评论 -
LeetCode #26 从排序数组中删除重复项
从排序数组中删除重复项给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。示例 1:给定数组 nums = [1,1,2],函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。你不需要考虑数组中超出新长度后面的元素。...原创 2020-03-04 15:59:12 · 137 阅读 · 0 评论 -
最大子序列问题
问题 给定n个整数(可能是负数)的序列{a1,a2,…a3},求其子序列的相加的最大值,负数就为0 e.g. -1 , 3 , -2 , 4 , -6 , 1 , 6 , -1 最大值:7解决直接法把所有子序列列出来相加,然后判断最大值int findMax(int a[],int l){ int max = 0;//最大值 int s =原创 2017-09-28 13:51:00 · 601 阅读 · 0 评论 -
麻将查表法(DFS暴力所有可能)(2)
参考查表思路(无自成顺,无牌的位置)一开始以为这是个坑(指视频),思路和lua其实都不错,代码上有学习和借鉴对比 查表法1查表1查表2生成key值方式把手牌抽象压缩转换先对手牌颜色分类,然后再对手牌抽象转换缺点过于抽象,特别是要找到最大的百搭,还有字成顺,一个文件数据量过大——优点——分而治之,减少单个文件量,更简单的满足一些需求生成表的...原创 2019-05-24 15:55:59 · 1839 阅读 · 0 评论 -
[LintCode] Dices Sum (动态规划)
题目:扔 n 个骰子,向上面的数字之和为 S。给定 n,请列出所有可能的 S 值及其相应的概率。Example样例 1:输入:n = 1输出:[[1, 0.17], [2, 0.17], [3, 0.17], [4, 0.17], [5, 0.17], [6, 0.17]]解释:掷一次骰子,向上的数字和可能为1,2,3,4,5,6,出现的概率均为 0.17。样例 2:输入:n = ...原创 2019-09-09 10:17:23 · 155 阅读 · 0 评论