【每日一题】找出数组的串联值

news2024/10/5 2:11:05

文章目录

  • Tag
  • 题目来源
  • 题目解读
  • 解题思路
    • 方法一:双指针
  • 写在最后

Tag

【模拟】【双指针】【数组】【2023-10-12】


题目来源

2562. 找出数组的串联值


题目解读

串联值指的是将两个数字串联起来形成新的数字。现在要一次计算一个数组的地也给数和最后一个数的串联值,将第一个数和最后一个数移除,计算新的第一个数和最后一个数的串联值,然后移除直至数组为空,如此重复计算所有的串联值之和。


解题思路

方法一:双指针

我们就按照题目要求进行串联第一个数和最后一个数组,我们可以使用双指针来指向我们要串联的两个数,i 指向第一个数,j 指向最后一个数,每计算完一个串联值之后加到答案变量 res 中,并相向移动双指针。

如何计算两个数的串联值呢?我们需要知道最后一个数 y 的有几位数 k,然后在第一个数 x 上右侧开辟 k0,即乘上 k10。迭代计算的代码就是每计算出 y 的一位数 x 就要乘上 10。实现代码为:

int x = nums[i], y = nums[j];
while (y) {
	x *= 10;
	y /= 10;
}

计算的串联值为 x + nums[j]

总的实现代码

class Solution {
public:
    long long findTheArrayConcVal(vector<int>& nums) {
        long long res = 0;
        int i = 0, j = nums.size() - 1;
        while (i < j) {
            int x = nums[i];
            int y = nums[j];
            while (y) {
                x *= 10;
                y /= 10;
            }
            res += x + nums[j];
            ++i;
            --j;
        }
        if (i == j) {
            res += nums[j];
        }
        return res;
    }
};

复杂度分析

时间复杂度: O ( n l o g U ) O(nlogU) O(nlogU) n n n 位数组 nums 的长度, U U U 为数组 nums 中的最大值。

空间复杂度: O ( 1 ) O(1) O(1)


写在最后

如果文章内容有任何错误或者您对文章有任何疑问,欢迎私信博主或者在评论区指出 💬💬💬。

如果大家有更优的时间、空间复杂度方法,欢迎评论区交流。

最后,感谢您的阅读,如果感到有所收获的话可以给博主点一个 👍 哦。

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

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

相关文章

【java学习】类的成员之三:构造方法(即构造器)(25)

文章目录 1. 构造器(构造方法)基本概念2. 语法格式3. 构造器(构造方法)的种类4. 从代码中理解构造函数5. 练习题5.1. 题目15.2. 题目25.3. 题目3 1. 构造器(构造方法)基本概念 构造器的特征 (1) 它具有与类相同的名称 (2) 它不声明返回值类型。&#xff08;与声明为 void 不同&…

【Vue基础-数字大屏】图表自适应大小

一、需求描述 缩放页面&#xff0c;页面中的图标自适应缩放 二、关键代码 1、图表横向全屏 <style scoped>#myecharts{ width: 100%;height: 600px; border: 2px solid rgb(0, 255, 255);} </style> 2、监听&#xff0c;使图表自适应缩放 myChart.setOption(o…

kubernetes环境 搭建

1、准备2台机器 2、安装docker环境&#xff08;参考官网&#xff09; 1、 sudo apt-get update sudo apt-get install ca-certificates curl gnupg2、 sudo install -m 0755 -d /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dea…

代码随想录算法训练营第五十九天 |647. 回文子串、516.最长回文子序列、动态规划总结篇

一、647. 回文子串 题目链接/文章讲解&#xff1a;代码随想录 思考&#xff1a; 1.确定dp数组&#xff08;dp table&#xff09;以及下标的含义 如果本题定义dp[i] 为 下标i结尾的字符串有 dp[i]个回文串的话&#xff1a; 会发现很难找到递归关系&#xff0c;dp[i] 和 dp[i-1]…

ubuntu20.04 nerf Instant-ngp

Instant-ngp linux ubuntu 20.04 GPU RTX3050Ti Instant-ngp官方文档地址 https://github.com/NVlabs/instant-ngp 参考链接Instant-ngp linux部署及使用 - 简书 Ubuntu20.04复现instant-ngp&#xff0c;自建数据集&#xff0c;导出mesh_XINYU W的博客-CSDN博客 步骤 安装基…

Elasticsearch 分片内部原理—使文本可被搜索、动态更新索引

目录 一、使文本可被搜索 不变性 二、动态更新索引 删除和更新 一、使文本可被搜索 必须解决的第一个挑战是如何使文本可被搜索。 传统的数据库每个字段存储单个值&#xff0c;但这对全文检索并不够。文本字段中的每个单词需要被搜索&#xff0c;对数据库意味着需要单个字…

object property order

起因 使用 prosemirror 时&#xff0c;想要取 schema 实例设置的 nodes const mySchema new Schema({nodes: {doc: {},customBlock: {},text: {},},marks: {}, });在浏览器控制台查看 mySchema&#xff0c;发现两个地方有nodes&#xff1a; mySchema.nodes 是普通对象&…

某医疗机构:建立S-SDLC安全开发流程,保障医疗前沿科技应用高质量发展

某医疗机构是头部资本集团旗下专注大健康领域战略性投资与运营的实业公司&#xff0c;市场规模超300亿。该医疗机构已完成数字赋能&#xff0c;形成了标准化、专业化、数字化的疾病和健康管理体系&#xff0c;将进一步规划战略方向&#xff0c;为人工智能纳米技术、高温超导、生…

【分享】小红书采集图片下载到本地

前面我们把图片链接都存到了excel里&#xff0c;现在想要把图片都下载到本地文件夹 下面是实现的python代码 图片链接存在第三列单元格&#xff0c;并且是多个图片\n分割的&#xff0c;现在把他们全部下载到本地 import pandas as pd import requestsdf pd.read_excel(&quo…

关于scanf和printf的格式控制修饰符

关于scanf和printf的格式控制修饰符

input时间控件选择时禁用某个日期之前或之后

【版权所有&#xff0c;文章允许转载&#xff0c;但须以链接方式注明源地址&#xff0c;否则追究法律责任】【创作不易&#xff0c;点个赞就是对我最大的支持】 前言 仅作为学习笔记&#xff0c;供大家参考 总结的不错的话&#xff0c;记得点赞收藏关注哦&#xff01; 目录 …

应届生写简历不如AI?HR招人到底看什么

又双叒创新高&#xff01; 据悉&#xff0c;2024届高校毕业生人数预计有 1187 万人&#xff0c;比2023届将近多30万人&#xff01;相当于冰岛一个国家的人口啊&#xff01; 毋庸置疑&#xff0c;大学生的就业压力只增无减。也因此&#xff0c;2024届的应届生们为了博HR关注&…

2023年中国艺人管理行业发展历程及趋势分析:未来市场规模还会不断增加[图]

艺人管理行业是指一系列涉及艺人职业发展、形象管理、工作安排、合同管理、媒体宣传策划、财务管理等方面的专业服务和活动。它旨在协助艺人实现个人职业目标&#xff0c;提升艺人在娱乐行业中的知名度、影响力和经济效益&#xff0c;维持艺人形象的稳定和提高其工作的效率和质…

公众号营业执照注销被冻结了,怎么迁移?

公众号迁移后原来内容还在么&#xff1f;通过公众号迁移&#xff0c;可以实现这些目的&#xff1a;主体变更、开通留言功能、多号合并、订阅号升级为服务号、服务号转为订阅号。公众号迁移流程&#xff1a;①办理公证&#xff1b;②提交迁移申请&#xff1b;③第三方审核&#…

json库的基本使用

目录 1 将python变量转变为json变量 dumps() 2 将json变量转换为python变量 loads() 3 将键值对存储为json文件 dump() 4 读取json文件 前后端常用json进行信息的交互&#xff0c;不转json会有收不到的情况 我们先看一下转换成json的服务 发现该有的信息都有&#x…

实战指南:使用 kube-prometheus-stack 监控 K3s 集群

作者简介 王海龙&#xff0c;Rancher 中国社区技术经理&#xff0c;Linux Foundation APAC Evangelist&#xff0c;负责 Rancher 中国技术社区的维护和运营。拥有 9 年的云计算领域经验&#xff0c;经历了 OpenStack 到 Kubernetes 的技术变革&#xff0c;无论底层操作系统 Lin…

【JavaEE初阶】 死锁详解

文章目录 &#x1f38b;死锁的概念&#x1f333;死锁的三个典型情况&#x1f6a9;一个线程一把锁&#x1f6a9;两个线程两把锁&#x1f6a9;n个线程m把锁(哲学家就餐问题) &#x1f384;如何破除死锁&#x1f6a9;破坏循环等待 本文重点&#xff1a; 死锁咋回事 死锁的三个典型…

2023年中国石油催化裂化剂行业供需、竞争格局及市场规模分析[图]

催化裂化是石油炼制过程之一&#xff0c;是在热和催化剂的作用下使重质油发生裂化反应&#xff0c;转变为裂化气、汽油和柴油等的过程。中国原油加工量在这一阶段逐年提升&#xff0c;2022年国内原油加工量67589.7万吨。 2016-2022年中国原油加工量情况 资料来源&#xff1a;国…

learn编码器

目录 1、编码器的作用 2、编码器的结构图 3、代码实现如下 1、编码器的作用 编码器用于对输入进行指定的特征提取的过程&#xff0c;也称为编码&#xff0c;由 N 个编码器层堆叠而成 2、编码器的结构图 3、代码实现如下 import numpy as np from torch.autograd import Vari…

RabbitMQ开启消息跟踪日志(trace)

Trace 是Rabbitmq用于记录每一次发送的消息&#xff0c;方便使用Rabbitmq的开发者调试、排错。 1、启动Tracing插件 在RabbitMQ中默认是关闭的&#xff0c;需手动开启。此处rabbitMQ是使用docker部署的 ## 进入rabbitMq中 docker exec -it rabbitmq1 bash ## 启动日志插件 r…