(40)分隔数组中数字的数位

文章目录


每日一言

人生有些关口非狠狠地斗一下不可,不能为了混口饭吃而蹉跎了幸福。------巴尔扎克


题目

题目链接:分隔数组中数字的数位

给你一个正整数数组 nums ,请你返回一个数组 answer ,你需要将 nums 中每个整数进行数位分割后,按照 nums 中出现的 相同顺序 放入答案数组中。

对一个整数进行数位分割,指的是将整数各个数位按原本出现的顺序排列成数组。

比方说,整数 10921 ,分割它的各个数位得到 [1,0,9,2,1] 。

  • 示例 1:

    输入:nums = [13,25,83,77]

    输出:[1,3,2,5,8,3,7,7]

    解释:

    • 分割 13 得到 [1,3] 。

    • 分割 25 得到 [2,5] 。

    • 分割 83 得到 [8,3] 。

    • 分割 77 得到 [7,7] 。

    answer = [1,3,2,5,8,3,7,7] 。answer 中的数字分割结果按照原数字在数组中的相同顺序排列。

  • 示例 2:

    输入:nums = [7,1,3,9]

    输出:[7,1,3,9]

    解释:nums 中每个整数的分割是它自己。

    answer = [7,1,3,9] 。

提示:

1 <= nums.length <= 1000

1 <= nums[i] <= 105


解题思路

求每个元素的倒序数,之后再一位一位的放入数组中

代码

c 复制代码
int* separateDigits(int* nums, int numsSize, int* returnSize) {
    int * arr = (int*)malloc(sizeof(int)*10000);
    int i=0;
    int j = 0;
    for(i=0;i<numsSize;i++)
    {
    	//记录数字末尾有几个0
        int k = 0;
        while(nums[i]%10==0)
        {
            nums[i]/=10;
            k++;
        }

		//求该数字的倒序数
        int tmp = 0;
        while(nums[i])
        {
            tmp = tmp*10 + nums[i]%10;
            nums[i]/=10;
        }

		//将数字的每一位放入数组中
        while(tmp)
        {
            arr[j++] = tmp%10;
            tmp/=10;
        }
        while(k--)//将原来数组的0放进去
            arr[j++] = 0;
    }
    
    *returnSize = j;//返回数组大小
    return arr;
}

结语

请给自己些耐心,一口吃不成胖子。
山外青山楼外楼,莫把百尺当尽头。
保持空杯心态加油努力吧!


都看到这里啦!真棒(*^▽^*)

可以给作者一个免费的赞赞吗,这将会鼓励我继续创作,谢谢大家

编程小白写作,如有纰漏或错误,欢迎指正


相关推荐
立志成为大牛的小牛2 小时前
数据结构——五十一、散列表的基本概念(王道408)
开发语言·数据结构·学习·程序人生·算法·散列表
杨福瑞3 小时前
数据结构:双向链表(3)
c语言·数据结构·链表
热心网友俣先生5 小时前
2025年APMCM亚太数学建模C题AI+人工精翻版本+数据收集方式介绍+数据分享
c语言·人工智能·数学建模
闲猿类5 小时前
嵌入式第九天学习
linux·c语言·学习·算法·嵌入式
程序员与背包客_CoderZ5 小时前
C/C++版LLM推理框架Llama.cpp——入门与编码实战
c语言·开发语言·网络·c++·人工智能·语言模型·llama
专注于大数据技术栈6 小时前
java学习--main方法
java·开发语言·学习
Creeper.exe6 小时前
【C语言】函数
c语言·开发语言
d111111111d7 小时前
关于STM32的选项字节的问题:如果我通过操作指针把数据写在了单片机的选项字节区域那么换别的程序时候数据会进行变化吗?
笔记·stm32·单片机·嵌入式硬件·学习
赖small强7 小时前
【Linux C/C++开发】第20章:进程间通信理论
linux·c语言·c++·进程间通信
赖small强7 小时前
【Linux C/C++开发】第24章:现代C++特性(C++17/20)核心概念
linux·c语言·c++·c++17/20