
算法
文章平均质量分 76
普通网友
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
重读《程序员修炼之道:通向务实的最高境界(第2版)》的一些重要感悟
6年前读第一版本的时候,就感觉得到它是一本实用至上的秘笈。今年得知第二版由云风大侠翻译出来,电子版一出来,我迫不及待地从kindle上购买阅读,书的主体思想仍然不变,也增加了新的内容。有两点仍然是至关重要——dry(不要重复自己)原则和正交性原则,从工作一开始,我一直遵循这两点重要的原则来指导自己去编码,特别是重构时受益良多。狂妄地说一句,我很少加班,也是得益于这两条原则,因为我总能做到又快又好,又容易扩展。遗憾的是我见到过的大多公司的自研框架,基本上都违背了这两条的原则,都是违背得多或少的问...原创 2021-02-01 16:05:39 · 607 阅读 · 3 评论 -
德州扑克-allin主池边池,分池算法
最近做完了德州扑克项目,对里面的一个allin分池算法有点感悟,值得记录下来,我大概看了一个老项目的分池算法,代码非常复杂,有100多行,对此我觉得可以优化一下的,实在没必要搞得这么复杂。为此我重构了一下,大概用了50行,思路清晰,代码如下: function TableFrame:CountChiZi(lChiZiScore, bChiZiPlayer) local vecUserScore ={} local lTotalScore=mytools.clone(sel原创 2020-11-10 16:19:10 · 11778 阅读 · 0 评论 -
经典背包问题之动态规划算法解决方案
给一个容量为10的的背包,物品有{2,3, 5, 5 },分别对应的价值是{2,4, 3, 7},要如何组合才能使他们装下的物品价值最大。一般这种经典问题有两种要求,第一种是每个物品可以复用,这也叫完全背包算法。代码如下int WanQuanBeiBao(vector<int>& weihts, vector<int>& values, int sum){ vector<int> dp(sum + 1, 0); dp[0]...原创 2020-09-25 15:41:57 · 426 阅读 · 0 评论 -
棋牌开发里面如何写好搜索顺子的算法
很多有3年开发经验以上的朋友,可能不屑一顾,这有何难,不就是几行代码的事,从我所见到的所有版本中,目前还没有一个令我满意的版本,满分100分最多占到70,不合格的占90%。下面我就让大家看看我公司同事写的各个搜索顺子算法的版本吧。先看斗地主的一个搜索顺子的版本-- 顺子local function IsSingleLine(nCards,nCardNum) for i=1,nCardNum-1 do if GetCard(nCards[1]) > 12 the...原创 2020-08-10 15:27:28 · 713 阅读 · 0 评论 -
C/C++与lua二维数组交互的经典范例
最近为了解决skynet的跑得快ai的核心算法性能问题,那么我们自然就用C来写核心算法,之前从来没做过二维数组交互,也是折腾了一番才能正常理解与运行。先看示例代码//数组计算加一返回数组int GetCardCal(lua_State* L){ int arrayNum[20][20] = { 0 }; lua_pushnil(L); int index = lua_gettop(L)-1; luaL_checktype(L, index, LUA_TTABLE); //检测传递过来原创 2020-07-06 17:16:51 · 1263 阅读 · 0 评论