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

算法通关村十三关 | 数组字符串加法专题

1. 数组实现整数加法

题目:LeetCode66,66. 加一 - 力扣(LeetCode)

思路

我们只需要从头到尾依次运算,用常量标记是否进位,需要考虑的特殊情况是digits = [9,9,9]的时候进位,我们组要创建长度加1的数组,首位添加为1即可。

代码

    /*** 数组实现整数加法* 需要考虑999+1变成1000,解决方法创建个新数组,首位补1*/public static int[] plusOne(int[] digits) {int len = digits.length;//从末尾向前计算for (int i = len - 1; i >= 0; i--) {digits[i]++;digits[i] %= 10;//加1之后对10取余不等于0则没有进位,直接返回//如果有进位,循环再次执行++,if (digits[i] != 0)return digits;}//三位数都有进位,999-1000,创建新数组,首位等于1digits = new int[len + 1];digits[0] = 1;return digits;}

2. 字符串实现加法

题目

        给定两个非负形式的字符串num1和num2,计算他们的和以字符串形式返回,不能使用Javaapi

思路

        还是竖式计算,从后往前,如果当前位置超过10,则发生进位,用两个指针分别从两数的末尾向前移动,遇到数字位数不同,只需补0继续和另一位数字运算。

代码

    /*** 字符串加法,竖式加法,需要判断是否进位。可以用变量来存储每次进位的值*/public static String addStrings(String num1, String num2) {int i = num1.length() - 1, j = num2.length() - 1, add = 0;StringBuilder sb = new StringBuilder();//位数不同,补0计算while (i >= 0 || j >= 0 || add != 0) {int x = i >= 0 ? num1.charAt(i) - '0' : 0;int y = j >= 0 ? num2.charAt(i) - '0' : 0;int result = x + y + add;//先拼接余数sb.append(result % 10);//再计算是否进位add = result / 10;i--;j--;}sb.reverse();return sb.toString();}

3. 二进制加法

题目

LeetCode67:67. 二进制求和 - 力扣(LeetCode)

思路

        二进制加法同上题一样,只不过进位变了,满2进1,同时也要处理出现首位继续向前进位的现象,可以用最后在前方拼接进位,不进位则不用拼接。

代码

    /*** 二进制的加法* 同字符串加法思想一样,是满2进1,换种形式写代码*/public static String addBinary(String a, String b) {StringBuilder sb = new StringBuilder();//是否进位的变量int ca = 0;for (int i = a.length() - 1, j = b.length() - 1; i >= 0 || j >= 0; i--, j--) {int sum = ca;sum += i >= 0 ? a.charAt(i) - '0' : 0;sum += j >= 0 ? b.charAt(j) - '0' : 0;sb.append(sum % 2);ca = sum / 2;}//处理最后一位sb.append(ca == 1 ? ca : "");return sb.reverse().toString();}

补充:

题目较为简单,记住模板即可。

相关文章:

算法通关村十三关 | 数组字符串加法专题

1. 数组实现整数加法 题目:LeetCode66,66. 加一 - 力扣(LeetCode) 思路 我们只需要从头到尾依次运算,用常量标记是否进位,需要考虑的特殊情况是digits [9,9,9]的时候进位,我们组要创建长度加1…...

k8s--基本概念理解

必填字段 在要创建的 Kubernetes 对象的文件中.yaml,您需要设置以下字段的值: apiVersion- 您使用哪个版本的 Kubernetes API 创建此对象 kind- 你想创建什么样的对象 metadata- 有助于唯一标识对象的数据,包括name字符串、UID和可选namesp…...

流媒体开发千问【持续更新】

H.264中IDR帧和I帧区别 H.264/AVC编码标准中,IDR帧和I帧都是关键帧,即它们都不依赖于其他帧进行解码。但是,它们之间存在明确的区别: 定义与功能: I帧(Intra-frame):I帧是一个内部编…...

全球各国官方语言大盘点,英语不得不学哇。。。

因国家和地区范围界定不同,官方语言只是个相对概念。具体而言是一个国家通用的正式语言或认定的正式语言。它是为适应管理国家事务的需要,在国家机关、正式文件、法律裁决及国际交往等官方场合中规定一种或几种语言为有效语言的现象。官方语言也是一个国…...

【mq】如何保证消息可靠性

文章目录 mq由哪几部分组成rocketmqkafka 为什么需要这几部分nameserver/zookeeper可靠性 broker可靠性 生产者消费者 mq由哪几部分组成 rocketmq kafka 这里先不讨论Kafka Raft模式 比较一下,kafka的结构和rocketmq的机构基本上一样,都需要一个注册…...

疲劳检测-闭眼检测(详细代码教程)

简介 瞌睡经常发生在汽车行驶的过程中,该行为害人害己,如果有一套能识别瞌睡的系统,那么无疑该系统意义重大! 实现步骤 思路:疲劳驾驶的司机大部分都有打瞌睡的情形,所以我们根据驾驶员眼睛闭合的频率和…...

大数据日常运维命令

1、HDFS NameNode /usr/local/fqlhadoop/hadoop/sbin/hadoop-daemon.sh start namenode /usr/local/fqlhadoop/hadoop/sbin/hadoop-daemon.sh stop namenode bin/hdfs haadmin -DFSHAAdmin -getServiceState n1 2、HDFS DataNode /usr/local/fqlhadoop/hadoop/sbin/hadoop-…...

解锁安全高效办公——私有化部署的WorkPlus即时通讯软件

在当今信息时代,高效的沟通与协作对于企业的成功至关重要。然而,随着信息技术的发展,保护敏感信息和数据安全也变得越来越重要。为了满足企业对于安全沟通和高效办公的需求,我们隆重推出私有化部署的WorkPlus即时通讯软件&#xf…...

IDEA使用git

文章目录 给所有文件配置git初始化本地仓库创建.gitignore文件添加远程仓库分支操作 给所有文件配置git 初始化本地仓库 创建.gitignore文件 添加远程仓库 分支操作 新建分支 newbranch 切换分支 checkout 推送分支 push 合并分支 merge...

【跟小嘉学 Rust 编程】十八、模式匹配(Patterns and Matching)

系列文章目录 【跟小嘉学 Rust 编程】一、Rust 编程基础 【跟小嘉学 Rust 编程】二、Rust 包管理工具使用 【跟小嘉学 Rust 编程】三、Rust 的基本程序概念 【跟小嘉学 Rust 编程】四、理解 Rust 的所有权概念 【跟小嘉学 Rust 编程】五、使用结构体关联结构化数据 【跟小嘉学…...

keepalived+lvs+nginx高并发集群

keepalivedlvsnginx高并发集群 简介: keepalivedlvsnginx高并发集群,是通过LVS将请求流量均匀分发给nginx集群,而当单机nginx出现状态异常或宕机时,keepalived会主动切换并将不健康nginx下线,维持集群稳定高可用 1.L…...

剑指Offer65.不用加减乘除做加法 C++

1、题目描述 写一个函数&#xff0c;求两个整数之和&#xff0c;要求在函数体内不得使用 “”、“-”、“*”、“/” 四则运算符号。 示例: 输入: a 1, b 1 输出: 2 2、VS2019上运行 使用位运算的方法 #include <iostream>class Solution { public:/*** 计算两个整…...

【linux命令讲解大全】004.探索Linux命令行中的chmod和chown工具

文章目录 chmod概要主要用途参数选项返回值例子 chown补充说明语法选项参数实例 从零学 python chmod 用来变更文件或目录的权限 概要 chmod [OPTION]... MODE[,MODE]... FILE... chmod [OPTION]... OCTAL-MODE FILE... chmod [OPTION]... --referenceRFILE FILE...主要用途…...

nginx会话保持

ip_hash:通过IP保持会话 作用&#xff1a; nginx通过后端服务器地址将请求定向的转发到服务器上。 将客户端的IP地址通过哈希算法加密成一个数值 如果后端有多个服务器&#xff0c;第一次请求到服务器A&#xff0c; 并在务器登录成功&#xff0c;那么再登录B服务器就要重新…...

SpringBoot使用Druid连接池 + 配置监控页面(自定义版 + starter版)

目录 1. Druid连接池的功能2. 自定义版2.1 pom.xml添加依赖2.2 MyDataSourceConfig实现2.3 application.properties配置编写Controller进行测试2.4 druid监控页面查看 3. starter版3.1 pom.xml添加依赖3.2 自动配置分析3.3 使用application.properties对druid进行配置3.4 druid…...

【业务功能篇77】微服务-OSS对象存储-上传下载图片

3. 图片管理 文件存储的几种方式 单体架构可以直接把图片存储在服务器中 但是在分布式环境下面直接存储在WEB服务器中的方式就不可取了&#xff0c;这时我们需要搭建独立的文件存储服务器。 3.1 开通阿里云服务 针对本系统中的相关的文件&#xff0c;图片&#xff0c;文本等…...

【CSS 常用加载动画效果】

常用加载效果 呼吸灯效果波浪光效果转圈加载 呼吸灯效果 <!DOCTYPE html> <html><head><meta charset"utf-8"><title></title></head><body><div id"ti"></div></body><style>b…...

python 模块requests 发送 HTTP 请求

一、简介 requests 模块是 python 基于 urllib&#xff0c;采用 Apache2 Licensed 开源协议的 HTTP 库。它比 urllib 更加方便&#xff0c;可以节约我们大量的工作 二、安装 pip install requestsimport requests三、方法 requsts.requst(method, url,headers,cookies,prox…...

关于 Camera 预览和录像画质不一样的问题分析

1、问题背景 基于之前安卓平台的一个项目&#xff0c;客户有反馈过一个 Camera app 预览的效果&#xff0c;和录像效果不一致的问题。 这里的预览是指打开 Camera app 后直接出图的效果&#xff1b;录像的效果则是指打开 Camera app 开启录像功能&#xff0c;录制一段视频&…...

【音视频】 视频的播放和暂停,当播放到末尾时触发 ended 事件,循环播放,播放速度

video 也可以 播放 MP3 音频&#xff0c;当不想让 视频显示出来的话&#xff0c;可以 给 video 设置宽和高 1rpx &#xff0c;不可以隐藏 <template><view class"form2box"><u-navbar leftClick"leftClick"><view slot"left&q…...

基于LLM的LSP服务器llm-ls:为IDE注入AI代码补全能力

1. 项目概述&#xff1a;一个为IDE注入AI灵魂的LSP服务器 如果你和我一样&#xff0c;每天都在和代码编辑器打交道&#xff0c;从Vim到VSCode&#xff0c;从IntelliJ到Jupyter&#xff0c;那你一定对LSP&#xff08;Language Server Protocol&#xff09;不陌生。它让我们的编辑…...

从单点到集群:我的SkyWalking 6.6.0 + ES7 + Nacos生产环境平滑升级踩坑记

从单点到集群&#xff1a;SkyWalking 6.6.0 ES7 Nacos生产环境平滑升级实战指南 去年春天&#xff0c;我们的电商大促监控系统突然告警——单节点SkyWalking服务器在流量洪峰下频繁崩溃。那一刻&#xff0c;我意识到单点架构已经成为业务增长的瓶颈。经过三个月的方案验证和灰…...

神经渲染新范式:体素网格技术全解析与实战指南

神经渲染新范式&#xff1a;体素网格技术全解析与实战指南 引言 在追求极致真实感与实时交互的3D数字世界中&#xff0c;神经渲染技术正掀起一场革命。其中&#xff0c;神经体素网格作为神经辐射场&#xff08;NeRF&#xff09;与显式体素表示融合的产物&#xff0c;以其在高…...

从概念验证到生产环境:Keep开源告警管理平台的5步完整实战部署指南

从概念验证到生产环境&#xff1a;Keep开源告警管理平台的5步完整实战部署指南 【免费下载链接】keep The open-source AIOps and alert management platform 项目地址: https://gitcode.com/GitHub_Trending/kee/keep 在当今复杂的云原生环境中&#xff0c;告警管理已成…...

DeepRead Skills:为AI编程助手注入OCR与文档处理能力

1. 项目概述&#xff1a;为AI助手注入文档处理“超能力”如果你和我一样&#xff0c;日常开发中重度依赖Claude Code、Cursor这类AI编程助手&#xff0c;那你肯定遇到过这样的场景&#xff1a;想让它帮你写一段调用OCR API的代码&#xff0c;结果它要么给你一个过时的库示例&am…...

英雄联盟智能辅助工具Seraphine:三步快速上手的终极指南

英雄联盟智能辅助工具Seraphine&#xff1a;三步快速上手的终极指南 【免费下载链接】Seraphine 英雄联盟战绩查询工具 项目地址: https://gitcode.com/gh_mirrors/se/Seraphine 你是否厌倦了在英雄联盟排位赛中手忙脚乱地查询对手战绩&#xff1f;是否希望有一个智能助…...

LaTeX2Word-Equation:三步实现网页公式到Word的精准转换

LaTeX2Word-Equation&#xff1a;三步实现网页公式到Word的精准转换 【免费下载链接】LaTeX2Word-Equation Copy LaTeX Equations as Word Equations, a Chrome Extension 项目地址: https://gitcode.com/gh_mirrors/la/LaTeX2Word-Equation 在学术写作和文档编辑过程中…...

AI代码生成质量评估2026:如何科学衡量Copilot类工具的真实价值

你的团队用了AI编码助手&#xff0c;但你真的知道它带来了多少价值吗&#xff1f;本文提供一套可落地的AI代码生成质量评估框架&#xff0c;从代码正确性到开发者体验&#xff0c;帮你用数据说话。一、为什么需要系统化评估"用了Copilot感觉快了不少"——这是最常见的…...

高级渗透测试:KitHack多平台后门生成与持久化技术

高级渗透测试&#xff1a;KitHack多平台后门生成与持久化技术 【免费下载链接】KitHack Hacking tools pack & backdoors generator. 项目地址: https://gitcode.com/gh_mirrors/ki/KitHack KitHack是一款功能强大的渗透测试工具包&#xff0c;专为安全研究人员和渗…...

基于STM32HAL库的平衡小车设计(二)--CubeMX配置说明

项目开源链接 本项目资料完全开源。资料包获取方式&#xff1a; github &#xff1a; https://github.com/snqx-lqh/ProjectReleasePage gitee(国内镜像) &#xff1a;https://gitee.com/snqx-lqh/ProjectOpenSourceReleasePage。 项目属于 32 的编号 B005 &#xff0c;在发…...