本文实例讲述了Golang最大递减数算法问题。分享给大家供大家参考,具体如下:

给出一个非负整数,找到这个非负整数中包含的最大递减数。一个数字的递减数是指相邻的数位从大到小排列的数字。
如: 95345323,递减数有:953,95,53,53,532,32, 那么最大的递减数为953。
如果输入的数字为负数,返回-1。
如果找不到递减数,也返回-1.
代码实现:
复制代码 代码如下:package huawei
import (
"fmt"
"sort"
"strconv"
)
func Test5Base() {
num := 431492
degressiveNums := getDegressiveNums(num)
max := -1
if len(degressiveNums) > 0 {
max = getMax(degressiveNums)
}
fmt.Println("max:", max)
}
//获取num的所有递减数
func getDegressiveNums(num int) []int {
if num < 0 {
return []int{-1}
}
degressiveNums := make([]int, 0)
numStr := strconv.Itoa(num)
length := len(numStr)
//长度为i的子串
for i := 2; i < length; i++ {
//从j开始截取
for j := 0; j < length-i+1; j++ {
//截取数字
n, err := strconv.Atoi(numStr[j : j+i])
checkError(err, "string to integer")
//是否为递减数
if isDegressive(n) {
degressiveNums = append(degressiveNums, n)
}
}
}
return degressiveNums
}
//判断数字num是否是递减数
func isDegressive(num int) bool {
weishu := make([]int, 0)
for num >= 1 {
n := num % 10
weishu = append(weishu, n)
num /= 10
}
return sort.IntsAreSorted(weishu)
}
//获取一个slice中最大的数
func getMax(nums []int) int {
if len(nums) == 0 {
panic("empty slice.")
}
max := nums[0]
for i := 1; i < len(nums); i++ {
if nums[i] > max {
max = nums[i]
}
}
return max
}
希望本文所述对大家Go语言程序设计有所帮助。
# Golang
# 最大递减数
# 算法
# 问题
# Golang排列组合算法问题之全排列实现方法
# Golang算法问题之整数拆分实现方法分析
# Golang算法问题之数组按指定规则排序的方法分析
# Golang算法之田忌赛马问题实现方法分析
# Golang正整数指定规则排序算法问题分析
# Go语言实现的树形结构数据比较算法实例
# Go语言算法之寻找数组第二大元素的方法
# go语言睡眠排序算法实例分析
# GO语言利用K近邻算法实现小说鉴黄
# golang实现分页算法实例代码
# 找不到
# 是指
# 给大家
# 所述
# 大到
# 数为
# 长度为
# 讲述了
# span
# package
# huawei
# IntsAreSorted
# br
# sort
# strconv
# func
# import
# nbsp
# fmt
# panic
相关文章:
济南企业网站制作公司,济南社保单位网上缴费步骤?
阿里云高弹*务器配置方案|支持分布式架构与多节点部署
山东云建站价格为何差异显著?
建站之星如何快速更换网站模板?
建站上传速度慢?如何优化加速网站加载效率?
国美网站制作流程,国美电器蒸汽鍋怎么用官方网站?
高性能网站服务器部署指南:稳定运行与安全配置优化方案
建站主机选哪家性价比最高?
如何制作公司的网站链接,公司想做一个网站,一般需要花多少钱?
微信小程序制作网站有哪些,微信小程序需要做网站吗?
如何用手机制作网站和网页,手机移动端的网站能制作成中英双语的吗?
php条件判断怎么写_ifelse和switchcase的使用区别【对比】
Swift中循环语句中的转移语句 break 和 continue
,交易猫的商品怎么发布到网站上去?
Android使用GridView实现日历的简单功能
网站制作公司广州有几家,广州尚艺美发学校网站是多少?
上海网站制作网站建设公司,建筑电工证网上查询系统入口?
如何制作新型网站程序文件,新型止水鱼鳞网要拆除吗?
建站主机无法访问?如何排查域名与服务器问题
网站设计制作企业有哪些,抖音官网主页怎么设置?
教程网站设计制作软件,怎么创建自己的一个网站?
如何用腾讯建站主机快速创建免费网站?
在线教育网站制作平台,山西立德教育官网?
制作网页的网站有哪些,电脑上怎么做网页?
如何在阿里云虚拟机上搭建网站?步骤解析与避坑指南
香港代理服务器配置指南:高匿IP选择、跨境加速与SEO优化技巧
全景视频制作网站有哪些,全景图怎么做成网页?
建站之星云端配置指南:模板选择与SEO优化一键生成
外贸公司网站制作哪家好,maersk船公司官网?
青岛网站设计制作公司,查询青岛招聘信息的网站有哪些?
网站制作价目表怎么做,珍爱网婚介费用多少?
重庆市网站制作公司,重庆招聘网站哪个好?
昆明高端网站制作公司,昆明公租房申请网上登录入口?
建站之星下载版如何获取与安装?
武汉外贸网站制作公司,现在武汉外贸前景怎么样啊?
官网网站制作腾讯审核要多久,联想路由器newifi官网
香港服务器网站生成指南:免费资源整合与高速稳定配置方案
香港服务器选型指南:免备案配置与高效建站方案解析
如何在阿里云ECS服务器部署织梦CMS网站?
网站图片在线制作软件,怎么在图片上做链接?
微信小程序 input输入框控件详解及实例(多种示例)
做企业网站制作流程,企业网站制作基本流程有哪些?
香港服务器网站推广:SEO优化与外贸独立站搭建策略
智能起名网站制作软件有哪些,制作logo的软件?
,制作一个手机app网站要多少钱?
北京企业网站设计制作公司,北京铁路集团官方网站?
制作无缝贴图网站有哪些,3dmax无缝贴图怎么调?
网站制作壁纸教程视频,电脑壁纸网站?
网站制作大概要多少钱一个,做一个平台网站大概多少钱?
如何做静态网页,sublimetext3.0制作静态网页?
*请认真填写需求信息,我们会在24小时内与您取得联系。