- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在尝试找出一个 O(nlogn) 时间的分而治之算法来解决以下现实世界的问题 -
假设我们有一组股票价格。想出一个算法,打印出数组中每一天 i 的最大利润。
例如,如果我们有数组 A = [4,6,2,1],我们的日期将代表每个索引,我们的输出将是一个包含值 [2,-4,-1,-1] 的数组] 最后一天的值为 -A[i]。
我想出了一个蛮力算法 -
1.) Scans the array for max after A[i]
2.) Subtracts A[i] with max, places value in A', iterates to next day
3.) When max reaches itself, repeat steps 1 & 2
4.) When you reach the end, the value is -A[i], return
此外,如果上述算法的时间复杂度是 o(n) 或 o(n^2),我会感到困惑。算法中最大的成本是找到最大值,其他一切都是 o(1)。
有人可以帮帮我吗?谢谢
最佳答案
你不想在这里分而治之。您可以在线性时间 (O(n)) 内执行此操作。这是 java 中的代码,但您可以使用任何语言执行此操作:
int[] maxProfit = new int[prices.length];
int maxPrice = 0;
for (int i = prices.length - 1; i >= 0; i--) {
maxProfit[i] = maxPrice - prices[i];
maxPrice = Math.max(maxPrice, prices[i]);
}
假设您有一个数组 prices
,其中包含您的整数价格。
这里的关键在于,您可以从末尾开始并向后获取所需的所有信息。
关于arrays - 股票价格的最大利润,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37014912/
我有这个脚本计算利润 步骤: barangbeli = 哈萨特/直径 p1 = 巴朗贝利 * 10 p2 = 教授/100 结果 = barangbeli + 利润; 谢谢 CREATE VIEW t
HTML CSS .col-3 { width:31.5%; float:left; margin-right:1.8%; margin-bott
根据交易时的成本价计算利润时出现问题 下面是场景的重现 create table price_history(id int,dated date,product_id int,cost_price i
当 shiny-server 看到 .Rmd 文件而不是 ui.R 和 server.R 时,有什么方法可以减少右边距和左边距吗?正如您在下面看到的,将近一半的窗口是右边距和左边距。有没有办法修改内部
这个问题在这里已经有了答案: Strange constraints behaviour on iPad (1 个回答) 关闭 7 年前。 我在不同的应用程序中有一段时间遇到这个问题,但我不知道到底
这真的很奇怪。我似乎根本无法通过 css 影响这张图片。尝试专门为图像添加一个类,并编写 css 以仅影响图像,但不影响 zip。它不会让步。唯一让它移动的是设置负值。实际图像上的边距,它只向上移动了
我是一名优秀的程序员,十分优秀!