全网整合营销服务商

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

免费咨询热线: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 


相关文章: 济南企业网站制作公司,济南社保单位网上缴费步骤?  阿里云高弹*务器配置方案|支持分布式架构与多节点部署  山东云建站价格为何差异显著?  建站之星如何快速更换网站模板?  建站上传速度慢?如何优化加速网站加载效率?  国美网站制作流程,国美电器蒸汽鍋怎么用官方网站?  高性能网站服务器部署指南:稳定运行与安全配置优化方案  建站主机选哪家性价比最高?  如何制作公司的网站链接,公司想做一个网站,一般需要花多少钱?  微信小程序制作网站有哪些,微信小程序需要做网站吗?  如何用手机制作网站和网页,手机移动端的网站能制作成中英双语的吗?  php条件判断怎么写_ifelse和switchcase的使用区别【对比】  Swift中循环语句中的转移语句 break 和 continue  ,交易猫的商品怎么发布到网站上去?  Android使用GridView实现日历的简单功能  网站制作公司广州有几家,广州尚艺美发学校网站是多少?  上海网站制作网站建设公司,建筑电工证网上查询系统入口?  如何制作新型网站程序文件,新型止水鱼鳞网要拆除吗?  建站主机无法访问?如何排查域名与服务器问题  网站设计制作企业有哪些,抖音官网主页怎么设置?  教程网站设计制作软件,怎么创建自己的一个网站?  如何用腾讯建站主机快速创建免费网站?  在线教育网站制作平台,山西立德教育官网?  制作网页的网站有哪些,电脑上怎么做网页?  如何在阿里云虚拟机上搭建网站?步骤解析与避坑指南  香港代理服务器配置指南:高匿IP选择、跨境加速与SEO优化技巧  全景视频制作网站有哪些,全景图怎么做成网页?  建站之星云端配置指南:模板选择与SEO优化一键生成  外贸公司网站制作哪家好,maersk船公司官网?  青岛网站设计制作公司,查询青岛招聘信息的网站有哪些?  网站制作价目表怎么做,珍爱网婚介费用多少?  重庆市网站制作公司,重庆招聘网站哪个好?  昆明高端网站制作公司,昆明公租房申请网上登录入口?  建站之星下载版如何获取与安装?  武汉外贸网站制作公司,现在武汉外贸前景怎么样啊?  官网网站制作腾讯审核要多久,联想路由器newifi官网  香港服务器网站生成指南:免费资源整合与高速稳定配置方案  香港服务器选型指南:免备案配置与高效建站方案解析  如何在阿里云ECS服务器部署织梦CMS网站?  网站图片在线制作软件,怎么在图片上做链接?  微信小程序 input输入框控件详解及实例(多种示例)  做企业网站制作流程,企业网站制作基本流程有哪些?  香港服务器网站推广:SEO优化与外贸独立站搭建策略  智能起名网站制作软件有哪些,制作logo的软件?  ,制作一个手机app网站要多少钱?  北京企业网站设计制作公司,北京铁路集团官方网站?  制作无缝贴图网站有哪些,3dmax无缝贴图怎么调?  网站制作壁纸教程视频,电脑壁纸网站?  网站制作大概要多少钱一个,做一个平台网站大概多少钱?  如何做静态网页,sublimetext3.0制作静态网页? 

您的项目需求

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