我正在研究麻省理工学院关于算法介绍的开放课件第一堂课,有些东西对我来说并不是很明显。你不能开始看在24:30的讲座在这里,并与一维峰值问题定义的所有细节的讲义和解决方案在这里
问题是:
对于“n”个整数元素的数组,找到一个峰值
并给出一个大小为 8 的示例数组: example = [6,7,4,3,2,1,4,5]
峰值的定义
对于example上面的数组example[1],example[7]它们是“峰值”,因为这些数字大于或等于它们的相邻元素,并且适用于数组最后一个元素的特殊条件,它只需要大于或等于前面的元素它。那是:
example[1] >= example[0] && example[1] >= example[2] #=> is true and therefore a peak
example[7] >= example[6] #=> is true and therefore a peak
Run Code Online (Sandbox Code Playgroud)
重要观察 从这个例子中,我们可以理解数组可能是未排序的,它可能包含重复项,并且它可能包含多个峰,根据我的解释,它甚至可能不包含任何单个峰。
到目前为止一切顺利,但当他争辩说在二叉搜索树中拆分数组的定义可以找到一个峰值时,我的麻烦就开始了,**这对那个班级的每个人来说可能非常明显,但对我来说不是,这似乎是任意的或者我没能理解一些非常重要的事情**
教授去用伪代码定义一个二分搜索算法来找到一个峰值:
我的问题/疑虑
A 为什么要向左走?而不是权利?B 为什么向右走?而不是左边?由于数组可以是未排序的并且它可能包含重复项我不明白哪里是保证如果条件A或B 保持为真那么向右或向左寻找是有意义的,这对我来说似乎是任意的如果您选择错误,您可以丢弃实际上可能具有唯一峰值的阵列的一半
我错过了什么重要的东西吗?如果是什么?
谢谢大家关注这个问题。
我正在使用 NodeJs v10.19.0 我已经阅读了大量的async/await文档和教程,但仍然无法正确理解。
I constantly make a get request to API that give me some JSON data I would like to have that data available at any time inside a variable
How do I do that?
So far I've tried as the example below shows but with no success
Thank you for your consideration
const rp = require('request-promise');
const myURL = '{A_GET_URL_THAT_RETURNS_A_JSON}';
const options = {uri:myURL, json: true};
const data = ( async ()=>{
try{
return await …Run Code Online (Sandbox Code Playgroud)