数据结构-leetcode-数组形式的整数加法

news2024/11/14 22:05:10

解题图解: 

 下面是代码:

/**
 * Note: The returned array must be malloced, assume caller calls free().
 */
int* addToArrayForm(int* num, int numSize, int k, int* returnSize){
    int k_tem =k;
    int klen=0;
    while(k_tem){//看看k有几位
        k_tem /=10;
        klen++;
    }
    int len = numSize>klen?numSize:klen;
    int *arry =(int*)malloc(sizeof(int)*(len+1));
    int num_end=numSize-1;
    int number_in=0;
    for(int i=0;i<len;i++){
        int a=0;
        if(num_end>=0){//k的位数比提供的数组大的情况
            a=num[num_end];
        }
        int bit_number=a+k%10+number_in;
        k/=10;
        number_in=0;
        if(bit_number>=10){
            arry[i]=bit_number-10;
            number_in=1;
        }else{
            arry[i]=bit_number;
        }
        num_end--;
    }
    int flag=0;//用于判断开辟的数组最后是len,还是len+1
    if(number_in==1){//如果最后一位需要进位就让开辟好的数组最后一位置为1
        arry[len]=1;
        flag=1;
    }
    int arry_end=(flag==1?len:len-1);
    int arry_start=0;
    while(arry_start<arry_end){
        //不用临时变量交换数组,可以学一下
        arry[arry_start]=arry[arry_start]^arry[arry_end];
        arry[arry_end]=arry[arry_start]^arry[arry_end];
        arry[arry_start]=arry[arry_start]^arry[arry_end];
        arry_end--;
        arry_start++;
    }
    *returnSize=(flag==1?len+1:len);
    return arry;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1014176.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【无公网IP内网穿透】Java支付宝沙箱环境支付,SDK接口远程调试

目录 1.测试环境 2.本地配置 3. 内网穿透 3.1 下载安装cpolar内网穿透 3.2 创建隧道 4. 测试公网访问 5. 配置固定二级子域名 5.1 保留一个二级子域名 5.2 配置二级子域名 6. 使用固定二级子域名进行访问 1.测试环境 MavenSpring bootJdk 1.8 2.本地配置 获取支付…

MapModule模块 基于folium的二次封装,让绘图更简洁

背景 开源库 GpsAndMap 的 MapModule 模块基于 folium 模块进行了二次封装&#xff0c;引入 GpsModule 模块中的GPS坐标类作为数据基础&#xff0c;集成了10种地图瓦片可以直接添加引用&#xff0c;提供了直观便利的图层管理功能。 引入模块 pip install GpsAndMap 模块结构…

将整数S按照指定的进制输出为RR的数据类型为字符串numpy.base_repr

【小白从小学Python、C、Java】 【计算机等考500强证书考研】 【Python-数据分析】 将整数S按照指定的进制输出为R R的数据类型为字符串 numpy.base_repr 下列代码最后一次输出的结果是&#xff1f; import numpy as np num 10 print("【显示】num&#xff1a;", …

考研408 | 【计算机组成原理】 数据的表示和运算

进位计数制 十进制计数法&#xff1a; 推广&#xff1a;r进制计数法 任意进制-->十进制&#xff1a; 二进制<-->八进制、十六进制&#xff1a; 各种进制的常见书写方式&#xff1a; 十进制-->任意进制&#xff1a; 十进制-->二进制&#xff08;拼凑法&#xff…

七个LLM的狼人杀之夜

深度学习自然语言处理 原创作者&#xff1a;Winnie 在最新一篇论文中&#xff0c;研究团队让一群大语言模型(LLM)开了一局狼人杀游戏。通过多种Prompt方法集成&#xff0c;LLM不仅成功地参与了游戏&#xff0c;还涌现出了信任、欺诈和领导力等团体能力。 Paper: Exploring Larg…

校园网web免认真,大量服务器

服务器加满了&#xff0c;没有几个人来&#xff0c;传点图片看实力 什么方法解web认证方式校园网&#xff1f; 一般的校园网是对学生免费开放的&#xff0c;假如你是学生输入学号密码上网就是了&#xff0c;假如你不是那就是想蹭网了&#xff0c;再假如你不想让管理员或上网行为…

idea部署javaSE项目(awt+swing项目)/idea导入eclipse的javaSE项目

一.idea打开项目 选择需要部署的项目 二、设置JDK 三、引入数据库驱动包 四、执行sql脚本 四、修改项目的数据库连接 找到数据库连接文件 五.其他系统实现 JavaSwing实现学生选课管理系统 JavaSwing实现学校教务管理系统 JavaSwingsqlserver学生成绩管理系统 JavaSwing用…

【mysql】1044 - Access denied for user ‘root‘@‘%‘ to database ‘test_job‘

登录mysql 为新建的库创建账号和授权 创建和授权命令 grant all on test_job.* to job% identified by 12345;flush privileges; 返回信息 grant all on test_job.* to job% identified by 12345 > 1044 - Access denied for user root% to database test_job > 查询…

vscode和HBuilderx设置快捷键注释

一、vscode设置快捷键注释 1.打开vscode&#xff0c;使用快捷键&#xff1a;ctrlshiftp mac的话快捷键是&#xff1a;commandshiftp 然后在行中输入snippets 2.选择“新建”&#xff0c;选择将要配置的文件类型&#xff08;以vue类型为例&#xff09;我这里创建的名字为vue.…

数据安全至上:使用API接口定期备份设备的维修保养记录

在设备管理中&#xff0c;维修保养记录是非常宝贵的信息&#xff0c;不仅记录了设备的维修历史&#xff0c;还有助于未来的决策和分析。然而&#xff0c;数据丢失或损坏可能会导致重大问题。为了确保数据的安全性&#xff0c;定期备份是必不可少的。本文将详细介绍如何使用API接…

牛客: BM7 链表中环的入口结点

牛客: BM7 链表中环的入口结点 文章目录 牛客: BM7 链表中环的入口结点题目描述题解思路题解代码 题目描述 题解思路 用一个哈希表存储链表节点,遍历链表,将节点加入哈希表,如果该节点在哈希表中出现过,意味着该节点是入口节点 题解代码 package mainfunc EntryNodeOfLoop(p…

etcd之读性能主要影响因素

1、Raft模块-线性读ReadIndex-节点之间的RTT延时、磁盘IO 线性读时Follower节点首先会向Raft 模块发送ReadIndex请求&#xff0c;此时Raft模块会先向各节点发送心跳确认&#xff0c;一半以上节点确认 Leader 身份后由leader节点将已提交日志索引 (committed index) 封装成 Rea…

Linux下如何查看正在运行的Nginx使用的配置文件

Linux下如何查看正在运行的Nginx使用的配置文件 1. 查看nginx的进程id2. 查询对应端口的nginx路径3. 使用-t参数获取改进程对应的配置文件路径nginx命令 1. 查看nginx的进程id #查询nginx是9000端口的PID netstat -lntup | grep 90002. 查询对应端口的nginx路径 ll /proc/150…

万兆网络变压器(网络滤波器/脉冲变压器)在光模块产品上的应用

Hqst盈盛&#xff08;华强盛&#xff09;电子导读&#xff1a;随着5G网络技术的发展&#xff0c;万物互联的愿景变得越来越现实&#xff0c;在网络技术高速发展的过程中&#xff0c;网络设备和元器件的发展也在适应着这种技术变化&#xff0c;其中的光电器件&#xff1a;光模块…

回顾多线程

1.线程有几种状态 public enum State {//新生NEW,//运行RUNNABLE,//阻塞BLOCKED,//等待WAITING,//超时等待TIMED_WAITING,//终止TERMINATED;} 2.wait和sleep的区别 1.来自不同的类 wait>Object类 sleep > Thread类 2.关于锁的释放 wait 会释放锁&#xff0c; s…

智能远程监考方案助力企业考试化繁为简

在音视频数字化之旅中&#xff0c;轻装上阵。 近年来&#xff0c;在数字化浪潮之下&#xff0c;远程考试频繁成为各领域热词&#xff0c;各企业也纷纷改革求新&#xff0c;将原本的企业内部考试转移到线上&#xff0c;从而获取更低廉的组考成本&#xff0c;更高的管理效率&…

程序和进程

一些基本概念&#xff1a; 进程的状态转换

Ardupilot — EKF3使用光流室内定位代码梳理

文章目录 前言 1 Copter.cpp 1.1 void IRAM_ATTR Copter::fast_loop() 1.2 void Copter::read_AHRS(void) 1.3 对象ahrs说明 2 AP_AHRS_NavEKF.cpp 2.1 void AP_AHRS_NavEKF::update(bool skip_ins_update) 2.2 void AP_AHRS_NavEKF::update_EKF3(void) 2.3 对象EKF3说…

LeetCode【27. 移除元素】

为国捐躯赴战场&#xff0c;丹心可并日争光。 给你一个数组 nums 和一个值 val&#xff0c;你需要 原地 移除所有数值等于 val 的元素&#xff0c;并返回移除后数组的新长度。 不要使用额外的数组空间&#xff0c;你必须仅使用 O(1) 额外空间并 原地 修改输入数组。 元素的顺…

[面试] 15道最典型的k8s面试题

文章目录 在 Kubernetes 中&#xff0c;有以下常见的资源对象&#xff1a;1.什么是 Kubernetes&#xff1f;它的主要特点是什么&#xff1f;2. Kubernetes 中的 Pod 是什么&#xff1f;它的作用是什么&#xff1f;3.Kubernetes 中的 Deployment 和 StatefulSet 有何区别&#x…