Tuesday, April 23, 2024
HomeSoftware EngineeringTips on how to Detect if Numbers are in Order in Golang

# Tips on how to Detect if Numbers are in Order in Golang

## The problem#

On this problem, your operate receives an array of integers as enter. Your process is to find out whether or not the numbers are in ascending order. An array is alleged to be in ascending order if there are not any two adjoining integers the place the left integer exceeds the appropriate integer in worth.

For the needs of this problem, you could assume that every one inputs are legitimate, i.e. non-empty arrays containing solely integers.

### Examples:#

``````InAscOrder([]int{1, 2, 4, 7, 19}) // returns True
InAscOrder([]int{1, 2, 3, 4, 5}) // returns True
InAscOrder([]int{1, 6, 10, 18, 2, 4, 20}) // returns False
InAscOrder([]int{9, 8, 7, 6, 5, 4, 3, 2, 1}) // returns False as a result of the numbers are in DESCENDING order
``````

Possibility 1:

``````package deal answer

import "kind"

func InAscOrder(numbers []int) bool {
return kind.IntsAreSorted(numbers)
}
``````

Possibility 2:

``````package deal answer

func InAscOrder(numbers []int) bool {
for i:=0; i < len(numbers) - 1; i++ {
if(numbers[i] > numbers[i+1]) {
return false
}
}
return true
}
``````

Possibility 3:

``````package deal answer

func InAscOrder(numbers []int) bool {
i := 0
for  ; i < len(numbers)-1 && numbers[i] <= numbers[i+1] ; i++ {}
return i == len(numbers) - 1
}
``````

## Take a look at instances to validate our answer#

``````package deal our_test

import (
. "github.com/onsi/ginkgo"
. "github.com/onsi/gomega"
)

var _ = Describe("Take a look at Instance", func() {
It("ought to take a look at that the answer returns the right worth", func() {
Count on(InAscOrder([]int{1, 2, 4, 7, 19})).To(Equal(true))
Count on(InAscOrder([]int{1, 2, 3, 4, 5})).To(Equal(true))
Count on(InAscOrder([]int{1, 6, 10, 18, 2, 4, 20})).To(Equal(false))
Count on(InAscOrder([]int{9, 8, 7, 6, 5, 4, 3, 2, 1})).To(Equal(false))
})
})
``````
RELATED ARTICLES