移除ArrayBuffer中第一个负数后的所有负数
来源:互联网 发布:淘宝苏宁易购投诉 编辑:程序博客网 时间:2024/06/01 10:38
import scala.collection.mutable.ArrayBufferobject test4 { def main(args: Array[String]) { //需求:移除下列可变数组中的第一个负数之后的所有负数 val a =ArrayBuffer[Int]() a+=(1,2,3,4,-1,-3,-9,-4) var foundFirstNegative=false //每次记录不需要移除的索引 稍后一次性移除所有需要移除的元素 //性能较高,数组内的元素迁移只要移动一次即可 val keepIndexs=for(i <-0 until a.length if !foundFirstNegative || a(i)>=0)yield{ if(a(i) < 0 ) foundFirstNegative = true i } //注意这里的keepIndexs 记录的是不需要移除的元素的索引 是一个迭代器 println(keepIndexs)//Vector(0, 1, 2, 3, 4) for(i <- 0 until keepIndexs.length){a(i)=a(keepIndexs(i))} a.trimEnd(a.length-keepIndexs.length) for(c <-a){ println(c) }// 结果;// 1// 2// 3// 4// -1 }}
阅读全文
0 0
- 移除ArrayBuffer中第一个负数后的所有负数
- 移除一个数组中第一个负数后的所有负数
- [Scala]删除数组中第一个负数之后的所有负数
- 输出负数个数以及所有非负数的平均值
- 负数的右移
- 从输入任意个整型数,统计其中的负数个数并求所有非负数的平均值
- 二进制中负数的表示
- 输入一个10进制数字,请计算该数字对应二进制中0的个数,注意左数第一个1之前的所有0都不需要计算。不需要考虑负数的情况。
- 【小知识】为什么负数除二和右移一位的结果不一样?
- 为什么负数除二和右移一位的结果不一样?
- Java中负数的移位操作——右移
- 设计函数返回一个数组中所有元素被第一个元素除的结果
- 返回一个数组中所有元素被第一个元素除的结果
- 返回一个数组中所有元素被第一个元素除的结果
- 所有的正整数排在所有负数前面
- 计算机中负数的表示方法
- Java中负数的二进制表示
- 关于C语言中负数的移位
- MySql学习笔记(3)--sql及DDL语句操作
- Java面试题总结(一)----java基础篇
- 数据结构之数组及其操作(C语言版)
- 正规方程求解特征参数的推导过程
- 【bzoj3040】最短路(road)
- 移除ArrayBuffer中第一个负数后的所有负数
- 未名湖边的烦恼 深搜
- RunTime类,后台快速打开浏览器
- Design support library.库学习资料总结
- java VisualVM 远程连接linux的tomcat
- 二分图最大匹配小结
- 线性表——List(集合)
- 空间域图像增强及MATLAB实现
- 设计模式深入浅出(四)接口适配——适配器