scala lc

Q1

import scala.collection.mutable.ArrayBuffer
object Solution {
def twoSum(nums: Array[Int], target: Int): Array[Int] = {
var ans: Array[Int] = new ArrayInt
var vec: ArrayBuffer[IndexAndNum]=new ArrayBuffer[IndexAndNum]
for (i <- nums.indices){
vec.addOne(new IndexAndNum(i,nums(i)))
}
vec = vec.sortWith((a, b) => a.num < b.num)
var begin:Int =0
var end:Int =vec.size-1
while(begin<end){
if (vec(begin).num+vec(end).num==target){
ans(0)=vec(begin).index
ans(1)=vec(end).index
return ans
}
else if (vec(begin).num+vec(end).num<target){
begin+=1
}
else{
end-=1
}
}
ans
}
}
class IndexAndNum(var a: Int, var b: Int) {

var index: Int = a
var num: Int = b

override def toString: String = {
"num=" + num + " index=" + index + "\n"
}
}

全部评论

相关推荐

Java抽象带篮子:简历怎么写可以看看我发的帖子,你的第一个是实习经历吗?那怎么写的是你的第一个练手项目呢?简历写的怎么样直接投小厂面试一下就知道了
没有实习经历,还有机会进...
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务