給出乙個非負整數,找到這個非負整數中包含的最大遞減數。乙個數字的遞減數是指相鄰的數字從大到小排列的數字。
如: 95345323,遞減數有:953,95,53,53,532,32, 那麼最大的遞減數為953。
如果輸入的數字為負數,返回-1。
如果程式設計客棧找不到遞減數,也返回-1.
**實現:
複製** **如下:
package huawei
import (
"fmt"
"sort"
"strconv"
)func test5base()
fmt.println("max:", max)
}//獲取num的所有遞減數
func getdegressivenums(num int) int
}degressivenums := make(int, 0)
numstr := strconv.itoa(num)
length := len(numstr)
//長度為i的子串
for i := 2; i < length; i++ }}
return degressivenums
}//判斷數字num是否是遞減數
func isdegressive(num int) bool
return sort.intsaresorted(weishu)
}//獲取乙個slice中最大的數
func getmax(nums int) int
max := nums[0]
for i := 1; i < len(nums); i++
}return max
本文標題: golang最大遞減數演算法問題分析
本文位址:
演算法基礎 最大遞減數問題(Golang實現)
給出乙個非負整數,找到這個非負整數中包含的最大遞減數。乙個數字的遞減數是指相鄰的數字從大到小排列的數字。如 95345323,遞減數有 953,95,53,53,532,32,那麼最大的遞減數為953。如果輸入的數字為負數,返回 1。如果找不到遞減數,也返回 1.實現 package huawei ...
演算法基礎 最大遞減數問題(Golang實現)
給出乙個非負整數,找到這個非負整數中包括的最大遞減數。乙個數字的遞減數是指相鄰的數字從大到小排列的數字。如 95345323,遞減數有 953,95,53,53,532,32,那麼最大的遞減數為953。假設輸入的數字為負數,返回 1。假設找不到遞減數,也返回 1.實現 package huawei ...
演算法基礎 最大遞減數問題(Golang實現)
給出乙個非負整數,找到這個非負整數中包括的最大遞減數。乙個數字的遞減數是指相鄰的數字從大到小排列的數字。如 95345323,遞減數有 953,95,53,53,532,32,那麼最大的遞減數為953。假設輸入的數字為負數,返回 1。假設找不到遞減數,也返回 1.實現 package huawei ...