全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

Golang最大递减数算法问题分析

本文实例讲述了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 


相关文章: php8.4新语法match怎么用_php8.4match表达式替代switch【方法】  如何用景安虚拟主机手机版绑定域名建站?  如何高效完成独享虚拟主机建站?  婚礼视频制作网站,学习*后期制作的网站有哪些?  大连网站设计制作招聘信息,大连投诉网站有哪些?  深圳 网站制作,深圳招聘网站哪个比较好一点啊?  建站主机与服务器功能差异如何区分?  ,购物网站怎么盈利呢?  制作网站的公司有哪些,做一个公司网站要多少钱?  C++中的Pimpl idiom是什么,有什么好处?(隐藏实现)  Bpmn 2.0的XML文件怎么画流程图  Swift中switch语句区间和元组模式匹配  网站制作说明怎么写,简述网页设计的流程并说明原因?  宝塔Windows建站如何避免显示默认IIS页面?  品牌网站制作公司有哪些,买正品品牌一般去哪个网站买?  高端企业智能建站程序:SEO优化与响应式模板定制开发  如何在阿里云虚拟机上搭建网站?步骤解析与避坑指南  建站之星如何取消后台验证码生成?  如何快速搭建高效香港服务器网站?  焦点电影公司作品,电影焦点结局是什么?  制作网站的网址是什么,请问后缀为.com和.com.cn还有.cn的这三种网站是分别是什么类型的网站?  如何制作新型网站程序文件,新型止水鱼鳞网要拆除吗?  定制建站策划方案_专业建站与网站建设方案一站式指南  如何在七牛云存储上搭建网站并设置自定义域名?  c# Task.ConfigureAwait(true) 在什么场景下是必须的  网站制作免费,什么网站能看正片电影?  如何选择可靠的免备案建站服务器?  深圳网站制作设计招聘,关于服装设计的流行趋势,哪里的资料比较全面?  成都品牌网站制作公司,成都营业执照年报网上怎么办理?  安徽网站建设与外贸建站服务专业定制方案  网站制作软件有哪些,制图软件有哪些?  建站OpenVZ教程与优化策略:配置指南与性能提升  网站专业制作公司,网站编辑是做什么的?好做吗?工作前景如何?  简易网站制作视频教程,使用记事本编写一个简单的网页html文件?  建站之星如何快速更换网站模板?  SAX解析器是什么,它与DOM在处理大型XML文件时有何不同?  建站之星2.7模板快速切换与批量管理功能操作指南  专业制作网站的公司哪家好,建立一个公司网站的费用.有哪些部分,分别要多少钱?  天河区网站制作公司,广州天河区如何办理身份证?需要什么资料有预约的网站吗?  ,有什么在线背英语单词效率比较高的网站?  如何通过虚拟主机快速完成网站搭建?  如何实现建站之星域名转发设置?  建站主机助手选型指南:2025年热门推荐与高效部署技巧  如何将凡科建站内容保存为本地文件?  网站制作员失业,怎样查看自己网站的注册者?  已有域名和空间如何搭建网站?  如何在服务器上三步完成建站并提升流量?  邀请函制作网站有哪些,有没有做年会邀请函的网站啊?在线制作,模板很多的那种?  如何在Windows 2008云服务器安全搭建网站?  如何在Mac上搭建Golang开发环境_使用Homebrew安装和管理Go版本 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。