package main
import "fmt"
func padArray(arr []int, length int, paddingValue int) []int {
arrLen := len(arr)
if arrLen >= length {
// No padding needed, return the original array
return arr
}
newArr := make([]int, length)
copy(newArr, arr) // Copy existing elements
for i := arrLen; i < length; i++ {
newArr[i] = paddingValue
}
return newArr
}
func main() {
arr := []int{1, 2, 3}
paddedArr1 := padArray(arr, 6, 0)
fmt.Println(paddedArr1)
paddedArr2 := padArray(arr, 2, 0) // No padding needed
fmt.Println(paddedArr2)
arr3 := []int{} // Empty slice
paddedArr3 := padArray(arr3, 5, -1)
fmt.Println(paddedArr3)
}
/*
run:
[1 2 3 0 0 0]
[1 2 3]
[-1 -1 -1 -1 -1]
*/