随笔分类 -  算法

摘要:一、寻找两个有序数组的中位数1.1 问题描述给定两个大小为 m 和 n 的不同时为空的有序数组nums1和nums2。找出这两个有序数组的中位数,并且要求算法的时间复杂度为O(log(m + n))。1.2 算法分析题目要求的时间复杂度是 O(log(m + n)),要产生这样级别的时间复杂度只有采用二分查找法,用分治递归的思路来考虑这个问题。需要转换题目中求中位数的问题为求第 k 小数的... 阅读全文
posted @ 2020-03-15 13:29 和风细羽 阅读(481) 评论(0) 推荐(1)
摘要:一、问题描述计算两个很大整数的结果,例如:27392361983108271361039746313* 37261038163103818366341087632113二、算法分析先用一个简单的例子,如 234 * 456 =???来考虑。在这里考虑将 456 拆分为 4、5、6,然后分别去乘以 234。 234... 阅读全文
posted @ 2020-03-15 13:27 和风细羽 阅读(269) 评论(0) 推荐(0)
摘要:01 背包问题是用来介绍动态规划算法最经典的例子。一、解释 1①、状态方程f[i, j] = Max{ f[i-1, j-Wi] + Pi, f[i-1,j] }( j >= Wi )f[i,j] 表示在前 i 件物品中选择若干件放在承重为 j 的背包中,可以取得的最大价值。Pi 表示第 i 件物品的价值。决策:为了背包中物品总价值最大化,第 i 件物品应该放入背包中吗 ?②、实例假设山洞里共... 阅读全文
posted @ 2020-03-15 13:25 和风细羽 阅读(240) 评论(0) 推荐(0)
摘要:一、Base64 编码由来为什么会有 Base64 编码呢?因为有些网络传送渠道并不支持所有的字节,例如传统的邮件只支持可见字符的传送,像 ASCII 码的控制字符就不能通过邮件传送。这样用途就受到了很大的限制,比如图片二进制流的每个字节不可能全部是可见字符,所以就传送不了。最好的方法就是在不改变传统协议的情况下,做一种扩展方案来支持二进制文件的传送。把不可打印的字符也能用可打印字符来表示,问题就... 阅读全文
posted @ 2020-03-15 13:19 和风细羽 阅读(492) 评论(0) 推荐(1)