第 161 题:用最精炼的代码实现数组非零非负最小值 index
例如:[10,21,0,-7,35,7,9,23,18]
输出 5, 7 最小
function getIndex(arr){
let index=null;
...
return index;
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(25)
rankVoteMaxIndex([-1] // 0
rankVoteMaxIndex([-1, 0, 1] // 0
会不会B格不够高
const minIndex = (arr) => arr.reduce((num, v, i) => v > 0 && v < arr[num] ? i : num, 0)
先找出大于0的数,然后排序,最小值就是非负非零的最小值,楼上的这个也算一个方法
初始值为-1的话是没法找到最小值的,经测试这条式子有点问题,做了一点调整,代码如下
reduce用法相关参考链接:
https://aotu.io/notes/2016/04/14/js-reduce/index.html
code:
实现的比较low,用for对比实现的:
其实就看怎么理解最精简, 我认为是时间空间复杂度小的,
如果说从代码行数来讲, 并没有什么意义, 都可以压缩成一行代码,
还有就是有可读性
最精炼的代码,没说是最小的复杂度啊
赞同
调整了一下
输出答案都是错的!
这个时间复杂度也不低
@libin1991 楼主,我是否可以贡献一题,实现 JSON.stringify 方法
https://www.webpackjs.com/loaders/worker-loader/
您访问下这个地址,这上面有这个demo,但是没讲这个!的意思,我想了解一下,麻烦了 @slogeor
@tanxin520 上下文方便说一下嘛
import postwroker from 'worker-loader!./postworker'
有人知道加!这种引入方法是什么意思吗
@libin1991 上面的时间复杂度是 O(N^2),
时间复杂度是 O(N)
@slogeor reduce和reduce一起复杂度是多少? 没有体现最精炼