摘要: 你有一排书架,有空时会拿些书来看,经常性会买些新书。无奈书架容量有限,当新买的书放不下时,需要一个策略将旧书淘汰。 LRU(最近最少使用)缓存淘汰机制正合适。 1)新买的书放在最左侧。 2)最近常看的书也放在最左侧。 久而久之,越往右边的书越是长时间没看,当有新书时,就从右侧淘汰起。Perfect。 阅读全文
posted @ 2019-09-23 10:57 james_cai 阅读(245) 评论(0) 推荐(0)
摘要: 首先要弄清楚代理是相对于哪一方来说的,一般都是资源的请求方(client) 正向代理 将自己要访问的资源告诉Proxy,让Proxy帮你拿到数据返回给你,Proxy服务于Client, 常用于FQ和跨权限操作; 反向代理 也是将自己要访问的资源告诉Proxy,让Proxy帮你拿到数据返回给你,但是P 阅读全文
posted @ 2019-09-23 09:46 james_cai 阅读(157) 评论(0) 推荐(0)
摘要: 如图所示,硬链接与原始文件共用一个inode,但inode是不跨文件系统的(Ext3、Ext4),每个文件系统都有自己的inode列表。因此,硬链接是没办法跨文件系统的 而软链接不同,软链接相当于重新创建了一个文件。这个文件也有独立的inode,只不过开打这个文件看里面内容的时候,内容指向另外一个文 阅读全文
posted @ 2019-09-23 09:27 james_cai 阅读(1262) 评论(0) 推荐(1)
摘要: 解法1:递归 +备忘录 自顶向下 解法2:动态规划 自底向上 阅读全文
posted @ 2019-09-20 16:43 james_cai 阅读(195) 评论(0) 推荐(0)
摘要: 思考: 由于乘法的特殊性,所以nums上每一位的乘积最大值(不论正负),都只与前一个值能达到的最大值(当前数字为正)和最小值(当前数位为负)有关系。 nums = [2,3, 2,4] imin ,imax =1,1 max_product = float(' inf') for num in nu 阅读全文
posted @ 2019-09-19 16:30 james_cai 阅读(523) 评论(1) 推荐(1)
摘要: 将nums数组当成是一个赌徒连续几天的输赢情况。 如果昨天赢钱了 =0 ,那今天无论输赢,之后都有可能赢更多钱。所以记住昨天 如果昨天输钱了 int: size = len(nums) dp = [0] size dp[0] = nums[0] for i in range(1,size): if 阅读全文
posted @ 2019-09-19 09:38 james_cai 阅读(113) 评论(0) 推荐(0)
摘要: N = 7 paths = [[1,2],[2,3],[3,4],[4,1],[1,3],[2,4],[5,6],[5,7],[6,7]] res = [0] (N + 1) G = [ [] for _ in range(N + 1)] 使用邻接表存放每个花园与其它花园连接的信息 for x ,y 阅读全文
posted @ 2019-09-16 10:45 james_cai 阅读(281) 评论(0) 推荐(0)
摘要: 解题思路,有些类似于在电影院忘了自己是在第几排,就问前一排的人,前一排也不知道,再问前前排。如此一直问到第一排。第一排肯定知道自己是第一排。 然后第二排在第一排的答案上加1。如此经过一递一归,就能求出当前自己是在第几排了。 递归最重要的是想好终止条件。及在每一个递归过程中,自己应该做什么(每个递归过 阅读全文
posted @ 2019-09-06 09:34 james_cai 阅读(335) 评论(0) 推荐(0)
摘要: 给定一个数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。 返回滑动窗口中的最大值。 阅读全文
posted @ 2019-09-05 11:26 james_cai 阅读(804) 评论(0) 推荐(0)
摘要: 传输服务由传输协议实现,两个传输实体之间的通信必须使用传输协议。传输协议在有些方面类似于数据链路协议。这两种协议都要处理: 错误控制 顺序性 流量控制 以及其他一些问题 然而,两者之间也存在重大差别,这些差别是因为这两种协议的运行环境不同而造成的,如下图所示 首先,在点到点链路上,无论是电缆还是光纤 阅读全文
posted @ 2019-09-03 16:41 james_cai 阅读(1797) 评论(0) 推荐(0)