알고리즘
릿코드 1630. Arithmetic Subarrays 코틀린
rkrkrr0101
2023. 11. 23. 14:16
문제:
nums범위내에서 lr의 인덱스가 같은거끼리 서브배열이고(nums.subList(l[i],r[i])),그안에서 산술수열인가뭔가 arr[n]-arr[n+1]이 같아야함
s[2]-s[1]==s[1]-s[0]
서브배열내에서 재배열가능=>정렬가능
단순시뮬돌려도될듯 범위보면
정답
class Solution {
fun checkArithmeticSubarrays(nums: IntArray, l: IntArray, r: IntArray): List<Boolean> {
val numsArithmeticList = mutableListOf<Int>()
val resList = mutableListOf<Boolean>()
for (index in l.indices){
val subNumList=nums.toList().subList(l[index],r[index]+1).sorted()
//println(subNumList)
if (subNumList.size<1){
continue
}
var minusCount=subNumList[1]-subNumList[0]
var resBoolean=true
for (i in 0..subNumList.size-2){
resBoolean = (minusCount == subNumList[i+1]-subNumList[i])
if (resBoolean==false){
break
}
}
resList.add(resBoolean)
}
println(resList)
return resList
}
}