我的编程空间,编程开发者的网络收藏夹
学习永远不晚

如何打印与前面的数字不同的数字?

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

如何打印与前面的数字不同的数字?

本篇文章主要是结合我之前面试的各种经历和实战开发中遇到的问题解决经验整理的,希望这篇《如何打印与前面的数字不同的数字?》对你有很大帮助!欢迎收藏,分享给更多的需要的朋友学习~

问题内容

例如,如果我有数字 35565,则输出为 3565。

所以,我的代码片段得到了个位数,但我不知道如何保留前一个数字以与下一个数字进行检查。

for {
num = num / 10
fmt.Print(num)
        
if num/10 == 0 {
    break
}
}


正确答案


这种方法从右到左将数字分解为数字,将它们存储为整数切片,然后从左到右迭代这些数字以构建具有“连续唯一”数字的数字。

我最初尝试从左到右分解数字,但不知道如何处理占位零;从右到左分解它,我知道如何捕获这些零。

// unique removes sequences of repeated digits from non-negative x,
// returning only "sequentially unique" digits:
// 12→12, 122→12, 1001→101, 35565→3565.
//
// Negative x yields -1.
func unique(x int) int {
    switch {
    case x < 0:
        return -1
    case x <= 10:
        return x
    }

    // -- Split x into its digits
    var (
        mag     int   // the magnitude of x
        nDigits int   // the number of digits in x
        digits  []int // the digits of x
    )

    mag = int(math.Floor(math.Log10(float64(x))))
    nDigits = mag + 1

    // work from right-to-left to preserve place-holding zeroes
    digits = make([]int, nDigits)
    for i := nDigits - 1; i >= 0; i-- {
        digits[i] = x % 10
        x /= 10
    }

    // -- Build new, "sequentially unique", x from left-to-right
    var prevDigit, newX int

    for _, digit := range digits {
        if digit != prevDigit {
            newX = newX*10 + digit
        }
        prevDigit = digit
    }

    return newX
}

这是一个go playground 进行测试。

可以通过翻转开头的负号并在末尾恢复它来适应处理负数。

以上就是《如何打印与前面的数字不同的数字?》的详细内容,更多关于的资料请关注编程网公众号!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

如何打印与前面的数字不同的数字?

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

如何打印与前面的数字不同的数字?

本篇文章主要是结合我之前面试的各种经历和实战开发中遇到的问题解决经验整理的,希望这篇《如何打印与前面的数字不同的数字?》对你有很大帮助!欢迎收藏,分享给更多的需要的朋友学习~问题内容例如,如果我有数字 35565,则输出为 3565。所以
如何打印与前面的数字不同的数字?
2024-04-04

php如何去掉数字前面的字符

这篇“php如何去掉数字前面的字符”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“php如何去掉数字前面的字符”文章吧。一、问
2023-07-05

php中如何去掉数字前面的0

这篇文章给大家分享的是有关php中如何去掉数字前面的0的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。php去掉数字前面的0的方法:1、通过“str_replace ("0", "", $str);”方法去除数字前
2023-06-15

python如何统计不同字符的个数

本篇内容介绍了“python如何统计不同字符的个数”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!本文教程操作环境:windows7系统、Py
2023-06-30

php如何统计字符串中不同字符的个数

这篇文章主要介绍了php如何统计字符串中不同字符的个数的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇php如何统计字符串中不同字符的个数文章都会有所收获,下面我们一起来看看吧。统计方法:1、使用“str_spl
2023-06-29

mysql如何统计同一字段不同值的个数

目录订单表解决方案汇总方案1方案2解决思路总结在一个项目中,制作呃echart图表的时候,遇到一个需求,需要从后端接口获取数据----售票员的姓名和业绩所以需要在订单表中,获取不同售票员的订单数量。订单表解决方案汇总mysql 统计一
2022-11-30

python中如何统计不同字符的个数

这篇文章主要介绍了python中如何统计不同字符的个数,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。python统计不同字符的个数的方法:首先创建一个py示例文件;然后通过“
2023-06-15

java如何在字符串中获取不同的字符及其数量

小编给大家分享一下java如何在字符串中获取不同的字符及其数量,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!如何在字符串中获取不同的字符及其数量这道题可以拆解为两个步骤,第一步,找出不同的字符,第二步,统计出它们的数量。好
2023-06-27

如何打印不带参数的url路径?

php小编草莓在这里为大家介绍如何打印不带参数的url路径。在web开发中,我们经常需要获取当前页面的url,并且去除掉其中的参数部分,只保留路径部分。这样做的好处是可以让url更加简洁,同时也有利于SEO优化。在PHP中,我们可以通过一些
如何打印不带参数的url路径?
2024-02-11

Java如何打断字符串为指定数量的字串

Java提供多种方法将字符串拆分成指定数量的单词,包括用正则表达式和String类的split()方法。正则表达式更灵活,split()方法更简单。使用正则表达式时,可使用模式"s+"匹配一个或多个空格字符。使用split()方法时,可使用参数""匹配单个空格字符。选择方法取决于特定需求。正则表达式更灵活,split()方法更简单。此外,还需考虑空白字符处理、不规则文本和效率等因素。
Java如何打断字符串为指定数量的字串
2024-04-02

PHP如何打断字符串为指定数量的字串

本文章介绍了如何将PHP字符串打断为指定数量的子字符串。提供三种解决方案:str_split()函数将字符串按长度分割,explode()函数按分隔符分割,substr()函数提取指定数量的字符。还提供了一个示例函数,演示如何将字符串打断并将其重新组合成新的字符串。
PHP如何打断字符串为指定数量的字串
2024-04-02

java如何找出数组中的不重复数字

找出数组中不重复的一个数字,题目大致是这样的:int[] a = { 1, 2, 3, 4, 3, 2, 1 };在线视频教程推荐:java在线学习解决办法是:public static int getNoRepeat() {int[] a = { 1, 2,
java如何找出数组中的不重复数字
2018-07-23

Python如何返回在找到任何指定的字符之前,在字符串查找的字符数

在Python中,可以通过多种方法查找字符串中首次出现的字符索引,包括:find()和index():返回指定字符的索引(或-1)count():返回字符出现的次数rfind()和rindex():从字符串末尾向开始搜索split():按指定字符分割字符串enumerate():返回字符及其索引的枚举对象自定义函数:定义自己的查找函数选择合适的方法取决于具体需求,例如精确索引、字符存在性检查或自定义应用程序。
Python如何返回在找到任何指定的字符之前,在字符串查找的字符数
2024-04-02

PHP如何返回在找到任何指定的字符之前,在字符串查找的字符数

PHP中,strpos()函数可用于查找指定字符在字符串中的位置。要返回该字符之前的字符数,可使用以下方法:方法1:substr():截取字符串到指定字符前的子字符串并计算长度。方法2:正则表达式:使用正则表达式匹配指定字符前的字符串部分并获取其长度。方法3:mb_substr()(多字节字符串):处理多字节字符串的子字符串截取并计算长度。选择最合适的方法取决于字符串的特征和资源可用性。
PHP如何返回在找到任何指定的字符之前,在字符串查找的字符数
2024-04-02

Java如何返回在找到任何指定的字符之前,在字符串查找的字符数

本文介绍Java中使用indexOf()方法查找字符串中指定字符位置,并根据找到结果计算字符前字符串长度。文章提供了示例代码和步骤,此外还介绍了使用循环和正则表达式查找字符前字符串长度的扩展方法。最后,文章讨论了不同方法的适用范围和性能考虑因素。
Java如何返回在找到任何指定的字符之前,在字符串查找的字符数
2024-04-02

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录