We use cookies to ensure you have the best browsing experience on our website. Please read our cookie policy for more information about how we use cookies.
//scala
object Solution {
var maxArray = Array.ofDim[Int](3, 3)
var maxSum = -50
// To print Array if you want
def printmaxArray{
val i = 3; val j = 3
for(i <- 0 to i-1) {
for(j <- 0 to j-1){
if( (i!=1 || j!=0) && (i!=1 || j!=2))
{
print(maxArray(i)(j)+" ")
}
else print(" ")
}
println
}
}
def hrsum(array: Array[Array[Int]]) = {
if (array.length == 3) {
var total = 0
val len = array.length - 1
for (row <- 0 to len)
for (col <- 0 to len) {
total += array(row)(col)
}
total -= (array(1)(0) + array(1)(2))
if (total > Solution.maxSum) {
Solution.maxSum = total
Solution.maxArray = array
// printmaxArray
}
}
}
def hourglassindex(arr: Array[Array[Int]]) = {
var totalsum = 0
var hrlist: List[Int] = List()
var tempArr = Array.ofDim[Int](3, 3);
val i = 3;
val j = 3
var row = 0;
var col = 0
var num = 0;
for (row <- 0 to 3) {
for (col <- 0 to 3) {
var temprow = 0; var tempcol = 0;
for (movingrow <- row to (row + 2)) {
for (movingcol <- col to (col + 2)) {
tempArr(temprow)(tempcol) = arr(movingrow)(movingcol)
tempcol += 1
}
temprow += 1
tempcol = 0
}
hrsum(tempArr)
num += 1
}
}
}
def main(args: Array[String]) {
val sc = new java.util.Scanner (System.in);
val n = 6 // n x n matrix
var arr = Array.ofDim[Int](n,n);
for(arr_i <- 0 to n-1) {
for(arr_j <- 0 to n-1){
arr(arr_i)(arr_j) = sc.nextInt();
}
}
hourglassindex(arr)
println(maxSum)
}
Day 11: 2D Arrays
You are viewing a single comment's thread. Return to all comments →
//scala object Solution { var maxArray = Array.ofDim[Int](3, 3) var maxSum = -50
def printmaxArray{ val i = 3; val j = 3 for(i <- 0 to i-1) { for(j <- 0 to j-1){ if( (i!=1 || j!=0) && (i!=1 || j!=2)) { print(maxArray(i)(j)+" ") } else print(" ") } println } }
}
}
}