
算法
Shaft_
这个作者很懒,什么都没留下…
展开
-
利用python对巨量数据排序
需求背景我们有一份100G左右的数据需要根据关键字进行排序,当时想的是直接从数据库select出来的时候直接order by,但是爆内存了,于是考虑导出后直接利用python进行排序。算法设计直接利用切割排序,再合并的方式,将100G文件分为40个2.5G的数据文件,分别排序后再归并,思想和leetcode合并n个有序数组的想法如出一辙归并代码import globimport hea...原创 2020-03-11 00:10:15 · 1797 阅读 · 0 评论 -
利用进制思想解决传统的老鼠喝毒药问题(带推广)
老鼠喝毒药问题经典问题 问题描述: 有1000瓶液体中有一瓶是毒药,小鼠吞服后,立马死亡,请问至少需要几只老鼠, 才能一次找出毒药所在。 立马死亡,意味着小鼠的状态是0/1,即死亡/存活的状态,因此我们可以用0/1来 表示小鼠的状态。将药物编号为二进制形式,发现至少需要10位数字才能表示出来 即0000000000~1xxxxxxxxx...原创 2019-10-13 23:49:51 · 617 阅读 · 0 评论 -
leetcode摩尔投票法
摩尔投票法运用的是成对删除的思想: 假如有10个人参与投票,有的人投给A,有的人投给B,有的人投给C,当我们想要找出A、B、C谁得票最多时, 我们可以将两个不同的投票作为一对进行删除,直到不能再删时然后再查看结果中还剩下的投票就是得票最 多的那个leetcode的运用:求众数I 给定一个大小为 n 的数组,找到其中的众数。众数是指在数组中出现次数大于 ⌊ n...原创 2019-10-13 15:16:32 · 309 阅读 · 0 评论 -
01背包问题带来的思考
01背包问题的描述 给定最大w,和n个物体,每个物体有wi、vi属性,求解使得选中物体的wi 之和小于最大w,同时要使得vi最大。涉及的算法————动态规划dp 对于选择的物体我们用一个dp[n][w](n为物品个数,w为总重)的数组存储 ,则可以得知这样有两种情况: (1)当dp[n][w]时,背包大小小于物体大小时: dp[n][w]...原创 2019-03-25 16:42:20 · 567 阅读 · 0 评论 -
2019南京大学计算机本科生开放日机试
南京大学2019年计算机系,本科生开放日。机试题目+解题代码。以及面试、机试总结。原创 2019-07-17 02:11:15 · 4530 阅读 · 0 评论 -
PAT 1097 用例四-段错误
问题测试用例的数据中出现了问题,导致输入n个节点,但是实际的节点数不足n;AC代码 #include <iostream> #include <vector> #include <cmath> using namespace std; struct nodes{ int addr; int key;...原创 2019-09-02 21:33:20 · 417 阅读 · 0 评论