CareerCup Find 3 indexes i,j,k such that, i<j<k and a[i] < a[j] < a[k]

265 篇文章 1 订阅
86 篇文章 0 订阅

Given a array of integers , find 3 indexes i,j,k such that, i<j<k and a[i] < a[j] < a[k]. Best possible is a O(n) algorithm.

---------------------------------------------------------------

This question is answered in the Amazon questions 

a[i]<a[j]<a[k] s.t i<j<k 
From the original array build two arrays. 
i) LMin[i] contains index of the min element seen so far from the left including a[i]. 
ii) RMax[i] contains index of the max element seen so far from the right including a[i]. 
consider the following array: 
a =4,7,5,1,3,8,9,6,2 
LMin=0,0,0,3,3,3,3,3,3 
RMax=6,6,6,6,6,6,6,7,8 


Now for i=1 to n if a[LMin[i]] < a[i] < a[RMax[i] print LMin[i],a[i],RMax[i] 
Time complexity: O(n) 
Space Complexity: O(n)


BUT I think there's better solution without extra space.



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
引用: ERROR: Could not find a version that satisfies the requirement gradio==3.23 ERROR: No matching distribution found for gradio==3.23。 引用:然而并没有什么用,依然报错。 pip install python3-dev -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com Looking in indexes: http://pypi.douban.com/simple/ ERROR: Could not find a version that satisfies the requirement python3-dev (from versions: none) ERROR: No matching distribution found for python3-dev。 引用:今天用pycharm装PIL安装失败,提示如下图。我用的python是3.5版本。 错误原因:后来发现我的是64位电脑,官网提供的安装包只有32位的。 ... 什么版本的python及多少位就选相应的选项就行。我的是35版本的python、64位...。 对于你的问题,ERROR: Could not find a version that satisfies the requirement PyYAML==5.1,这个错误通常是由于未找到适配的版本引起的。这可能意味着你要安装的PyYAML版本与你当前的环境不兼容。你可以尝试以下几个解决方法: - 确保你的Python环境是最新的,并且已经安装了pip工具。可以通过运行"python --version"命令来检查Python版本,通过运行"pip --version"命令来检查pip工具版本。 - 确认你的网络连接正常,可以尝试使用不同的源来安装PyYAML。你可以尝试使用国内的源,比如豆瓣源,通过运行"pip install PyYAML==5.1 -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com"命令来安装PyYAML。 - 如果上述方法都没有解决问题,你可以尝试手动下载PyYAML的安装包,并使用"pip install <path_to_package>"命令来安装。确保你选择的安装包与你当前的Python版本和操作系统相匹配。你可以从PyYAML的官方网站或者其他可信的源下载适合你的版本的安装包。 希望以上方法能帮助你解决问题。如果问题仍然存在,请提供更多详细的错误信息以便我们能够更好地帮助你。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值