会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
Hello_Nolan
博客园
首页
新随笔
联系
订阅
管理
2020年10月22日
41. 计算最大利润
摘要: 一. 问题 外汇交易可以通过兑换不同国家的货币赚取汇率差。比如1美元兑换100日元时购入1000美元,然后等汇率变动到1美元兑换108美元时再卖出,这样就可以赚取(108 - 100)× 1000 = 8000日元。 现在请将某货币在 t 时刻的价格 Rt (t = 0, 1 , 2, ..., n
阅读全文
posted @ 2020-10-22 14:19 Hello_Nolan
阅读(1086)
评论(0)
推荐(0)
2020年8月30日
40. 逆转数组(三)
摘要: 一. 问题 给定一个含有 n 个元素的序列 A,将序列中的元素逆转。 二. 思路 在前两篇文章中,我用到两种手法来逆转数组,第一种是元素交换第二种是用一个额外的栈。现在我们考虑一种新的算法:用一个队列来读入序列中的元素,再将队列中元素弹出,从后向前重新放回序列中,这样就完成了整个序列的逆转。此算法的
阅读全文
posted @ 2020-08-30 18:24 Hello_Nolan
阅读(135)
评论(0)
推荐(0)
39. 逆转数组(二)
摘要: 一. 问题 给定一个含有 n 个元素的序列 A,将序列中的元素逆转。 二. 思路 在前一篇文章中,我选择用用临时变量,来进行前后元素交换。这种算法的时间复杂度是 O( n ),空间复杂度是 O( 1 )(因为用到了有限个临时变量)。现在我们考虑一种新的算法:用一个栈来读入序列中的元素,再将栈中元素弹
阅读全文
posted @ 2020-08-30 18:07 Hello_Nolan
阅读(157)
评论(0)
推荐(0)
2020年8月26日
38. 最长连续有序子数组
摘要: 一. 问题 给定含 n 个整数的数组,找出连续的有序最长子数组。算法的运行时间是多少? 二. 思路 假设有一个序列, data = (1, 2, 3, 4, 2, 1, 3, 0),显然,从元素 1 到元素 4 是升序排列的,并且有 4 个元素。我们为了简单起见,仅查找升序排列的子序列。 要获得子序
阅读全文
posted @ 2020-08-26 03:31 Hello_Nolan
阅读(589)
评论(0)
推荐(0)
2020年8月25日
37. 字符串转换为整数
摘要: 一. 问题 给定一个由 0 到 9 的 n 个数字组成的字符串 S,描述一个将 S 转换成它表示的整数的有效算法。算法的运行时间是多少? 二. 思路 按照题目,我们假设给定字符串为 S = “12345”,可以看出,字符串 S 中含有 5 个字符,那么我们怎么将它们转换成相应整数?先将问题进行简化,
阅读全文
posted @ 2020-08-25 22:39 Hello_Nolan
阅读(620)
评论(0)
推荐(0)
2020年8月24日
36. 逆转数组(一)
摘要: 一. 问题 给定一个数组 A,描述一个将 A 逆转的高效算法。例如,如果 A = (1, 2, 3, 4, 5),逆转以后是 A = (5, 4, 3, 2, 1)。除了 A 本身使用的空间外,只能使用 O( 1 )的额外内存。算法的运行时间是多少? 二. 思路 规定只能使用固定大小的额外内存,说明
阅读全文
posted @ 2020-08-24 22:05 Hello_Nolan
阅读(246)
评论(0)
推荐(0)
35. 判断和等于给定整数的两个数是否存在
摘要: 一. 问题 给定一个整数 c 和一个下标从 1 到 n 的数组 A,A 中的元素是范围 1 到 5n(可能有重复)的 n 个整数。描述一个有效算法来确定 A 中是否存在两个整数 A[ i ] 和 A[ j ] ,其和为 c,即 c = A[ i ] + A[ j ], 1 ≤ i < j ≤ n。算
阅读全文
posted @ 2020-08-24 21:24 Hello_Nolan
阅读(245)
评论(0)
推荐(0)
2020年8月23日
34. 在序列中查找最大值(递归手法)
摘要: 一. 问题 给定一组序列,找出其中的最大元素。 二. 实例分析 1.循环手法 (1)思路 给定一组序列, data = (1, 3, 4, 9, 12, 3)。我们一眼看出,最大值是 12 ,但是计算机并不能一眼看出。我们用一个变量来保存最大值,并将序列中的每个元素与之比较,如果大于这个最大值,就将
阅读全文
posted @ 2020-08-23 06:10 Hello_Nolan
阅读(1061)
评论(0)
推荐(0)
2020年8月22日
33. 递归计算累加和
摘要: 一. 问题 给定一个数 n ,用递归的手法求出从 1 到 n 的累加和。 1. 实例分析 假设传入参数 n = 5。 (方法一)高斯公式 1 int gauss_sum(int n) { 2 int sum = (1 + n) * n / 2; 3 4 return sum; 5 } 利用公式,一次
阅读全文
posted @ 2020-08-22 22:16 Hello_Nolan
阅读(2709)
评论(0)
推荐(0)
32. 递归打印数组元素
摘要: 一. 问题 给定一组数据,将元素用递归的手法打印出来。 二. 实例分析 1. 循环手法 给定一组数据, data = (1, 2, 3, 4, 5, 6)。现在要打印元素,常规手法就是用循环,代码如下: 1 void print_element(const vector<int>& data) {
阅读全文
posted @ 2020-08-22 10:03 Hello_Nolan
阅读(467)
评论(0)
推荐(0)
下一页
公告