Advertisement
saurav_kalsoor

Find Partition Point - KOTLIN

Aug 6th, 2021
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Kotlin 0.71 KB | None | 0 0
  1. package com.company
  2.  
  3. import java.util.*
  4.  
  5. fun main() {
  6.     val sc = Scanner(System.`in`)
  7.     val n = sc.nextInt()
  8.     val list = ArrayList<Int>()
  9.     for (i in 0 until n) {
  10.         val num = sc.nextInt()
  11.         list.add(num)
  12.     }
  13.     println(Problem.findPartitionPoint(list, n))
  14. }
  15.  
  16. fun findPartitionPoint(list: ArrayList<Int>, n: Int): Int {
  17.     val prefixSum = IntArray(n)
  18.     prefixSum[0] = list[0]
  19.     for (i in 1 until n) prefixSum[i] = prefixSum[i - 1] + list[i]
  20.     for (i in 0 until n) {
  21.         val leftSum = if (i > 0) prefixSum[i - 1] else 0
  22.         val rightSum = prefixSum[n - 1] - prefixSum[i]
  23.         if (leftSum == rightSum) {
  24.             return i
  25.         }
  26.     }
  27.     return -1
  28. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement