How to check if a sequence of numbers is an Arithmetic progression (consecutive differences are the same) in Go

1 Answer

0 votes
package main

import (
	"fmt"
	"sort"
)

func isArithmeticProgression(arr []int) bool {
	size := len(arr)
	if size == 1 {
		return true
	}

	sort.Ints(arr)

	difference := arr[1] - arr[0]
	for i := 2; i < size; i++ {
		if arr[i]-arr[i-1] != difference {
			return false
		}
	}

	return true
}

func main() {
	arr := []int{10, 20, 15, 5, 25, 35, 30}

	fmt.Println(isArithmeticProgression(arr))
}



/*
run:

true

*/

 



answered Sep 21, 2024 by avibootz
...