当前位置: 首页 > news >正文

南昌seo网站推广费用网站备案信息

南昌seo网站推广费用,网站备案信息,百度云官网登录入口,wordpress 首页动画题目描述 给定一个由 非负整数组成的非空数组,表示一个整数。在该整数的基础上加一。 最高位数字在数组的首位,数组中每个元素只存储单个数字。 你可以假设除了整数 0 之外,这个整数不会以零开头。 示例 1: 输入: digits [1,2,3] 输出:…

题目描述

给定一个由 非负整数组成的非空数组,表示一个整数。在该整数的基础上加一。

最高位数字在数组的首位,数组中每个元素只存储单个数字。

你可以假设除了整数 0 之外,这个整数不会以零开头。

示例 1:

输入: digits = [1,2,3]
输出: [1,2,4]
解释: 输入数组表示数字 123。

示例 2:

输入: digits = [4,3,2,1]
输出: [4,3,2,2]
解释: 输入数组表示数字 4321。

示例 3:

输入: digits = [9,9,9]
输出: [1,0,0,0]
解释: 输入数组表示数字 999。

解决方案

可以通过模拟加法操作,从数组的尾部开始处理进位。

核心思路
  1. 从数组末尾向前遍历,将最低位加一。
  2. 如果加一后小于 10,则无需进位,直接返回结果。
  3. 如果产生进位,则将当前位置的数字置为 0,继续处理更高位。
  4. 如果遍历结束仍有进位(如 [9,9,9]),需要在数组开头插入 1。

C 语言实现

#include <stdio.h>
#include <stdlib.h>int* plusOne(int* digits, int digitsSize, int* returnSize) {// 从末尾开始遍历,处理加法for (int i = digitsSize - 1; i >= 0; i--) {if (digits[i] < 9) {digits[i]++;  // 如果当前位小于 9,直接加一并返回*returnSize = digitsSize;return digits;}digits[i] = 0;  // 如果当前位为 9,置为 0,并继续处理高位}// 如果循环结束仍有进位,说明需要扩展数组int* result = (int*)malloc((digitsSize + 1) * sizeof(int));result[0] = 1; // 最高位为 1for (int i = 1; i <= digitsSize; i++) {result[i] = 0; // 其他位为 0}*returnSize = digitsSize + 1;return result;
}int main() {int digits[] = {9, 9, 9};int digitsSize = sizeof(digits) / sizeof(digits[0]);int returnSize;int* result = plusOne(digits, digitsSize, &returnSize);printf("结果: [");for (int i = 0; i < returnSize; i++) {printf("%d", result[i]);if (i < returnSize - 1) printf(", ");}printf("]\n");if (result != digits) {free(result); // 如果是动态分配的数组,记得释放内存}return 0;
}

代码说明

  1. 加法模拟

    • 从数组尾部向前遍历,依次处理每位数字的加一操作。
    • 如果某位加一后小于 10,则无需进位,直接返回。
    • 如果某位加一后等于 10,则将其置为 0,继续处理更高位。
  2. 处理进位

    • 如果所有位都加完且仍有进位(如 [9,9,9]),需要扩展数组并在首位加 1
  3. 动态内存分配

    • 如果需要扩展数组(例如 [9,9,9] -> [1,0,0,0]),需要动态分配新数组并返回。
  4. 返回结果

    • 使用 returnSize 记录结果数组的长度。

复杂度分析

  • 时间复杂度: O ( n ) O(n) O(n),需要遍历整个数组。
  • 空间复杂度: O ( 1 ) O(1) O(1)(如果不需要扩展数组)或 O ( n ) O(n) O(n)(如果需要扩展数组)。

测试示例

输入不同的测试用例,观察输出是否正确:

输入: [1,2,3]
输出: [1,2,4]输入: [9,9,9]
输出: [1,0,0,0]输入: [0]
输出: [1]
http://www.yayakq.cn/news/59995/

相关文章:

  • 网站关键词优化公司哪家好莱芜网站优化排名
  • 化妆品企业网站建设的缺点个人网站规划书模板
  • 网站建设意义模板wordpress手机适应
  • 淡水网站建设定制网站开发后台做些什么
  • 三金网手机网站wordpress做支付
  • 重庆建设网站的公司简介千锋教育培训多少钱费用
  • 做片头网站秦皇岛的网站建设公司
  • 专业做网站团队手机app 网站
  • 地方网站有何作用汕头seo建站
  • 寺庙网站开发建设方案曹县网站建设
  • 网络网站推广选择乐云seo开发一个软件需要什么过程
  • 网站注册价格免费注册网站有哪些
  • 织梦做淘宝客网站环球网最新国际新闻
  • 网站做任务挣钱做垂直网站
  • 免费无限建站手机百度安装下载
  • 网站建设推广服务商ci框架建设网站
  • 小江高端网站建设可视化响应式网站建设
  • 企业网站建设流程图本地云主机搭建wordpress
  • 外贸服装接单网站政务信息公开与网站建设报告
  • wordpress简体中文版下载地址惠州企业网站seo公司
  • php网站游客试用怎么做网站专题制作 公司
  • 网站头部代码渭南韩城
  • 东莞做网站推广网站备案被注销吗
  • 镇江网站优化免费团购网站模板
  • 2024微信最新版本下载广告seo是什么意思
  • 平台网站建设在哪里免费网站2022年能用的网址
  • 手机网站建设哪家好dw做网站时怎么改为绝对路径
  • 做网站成为首富的外国人凡客诚品还经营吗
  • 大型门户网站开发费用徐州市建筑工程交易网
  • 河南网站建设官网南宁自助建站软件