ruby – 如何从数组中删除范围
发布时间:2020-12-17 03:41:55 所属栏目:百科 来源:网络整理
导读:我正在尝试找到与remove_range相当的东西(当然不存在),如下所示.似乎没有简单的方法来实现此功能. a = [0,2,8,4,5,]b = a.remove_range(1,2) #remove items between index 1 and 2,inclusively#expect b == [0,5]b = a.remove_range(3,4)#expect b == [0,5]
我正在尝试找到与remove_range相当的东西(当然不存在),如下所示.似乎没有简单的方法来实现此功能.
a = [0,2,8,4,5,] b = a.remove_range(1,2) #remove items between index 1 and 2,inclusively #expect b == [0,5] b = a.remove_range(3,4) #expect b == [0,5] 在发布解决方案之前,请至少测试两个以上的情况:) 假设范围的大小为M,则此操作应该需要O(1)空间和O(N-M)时间复杂度. 编辑: a – a [1..2]将返回[0,5].但是,我们要保留第3个元素,即2. 解决方法
你可以使用Enumerable模块做一些很酷的技巧:
a = [0,5] r = 1..2 a.reject.with_index { |v,i| r.include?(i) } # => [0,5] 请注意,这不会修改原始数组,但会返回一个新数组.你可以使用拒绝!如果要修改数组. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 【玩转SQLite系列】(二)SQLite创建和打开数据库的三种方式
- xml_用dom4j解析文档
- 将oracle 12c中的sql查询结果作为JSON返回
- [译稿]PostgreSQL 中匿名事务的使用
- flex 入门学习笔记3 之RadioButton和RadioButtonGroup
- 依赖注入 – 用户输入依赖注入的最佳策略是什么?
- MapAbc Ajax 驾车路径Http请求
- React 事件对象、键盘事件、表单事件、ref获取dom节点、rea
- 【React Native开发】React Native For Android环境配置以及
- Oracle how to reset sequence nextval