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

20230821-字符串相乘-给树命名(unordered_map)

字符串相乘

有两个非负整数字符串num1,num2,计算num1和num2所表达整数的乘积,结果以字符串形式存储。注意:不能通过强制转换方法解题。
示例1:
输入:
"4", "3"
输出:
"12"
代码:

class Solution {
public:// 两个数字相乘,所得乘积的位数小于等于两个数的位数之和。则预留与两数位数之和相等的空间则足够使用string multiply(string num1, string num2) {int size1 = num1.size();int size2 = num2.size();string res(size1 + size2, '0');for(int i = size1 - 1; i >= 0; i--){for(int j = size2 - 1; j >= 0; j--){res[i + j + 1]=(res[i + j + 1] - '0')+((num1[i] - '0')*(num2[j] - '0'));//注意这里要使用数字运算res[i + j] += (res[i + j + 1] / 10);res[i + j + 1]=(res[i + j + 1] % 10) + '0';//这里载入的是字得}}for(int i = 0; i < size1 + size2; ++i){if(res[i] != '0')return res.substr(i);}return "0";}
};

给树命名

现在需要给n棵树命名,你收集了n个名字(名字为字符串,存在重复的名字)并放在长度为n的vector中,第i棵树为vector中下标为i对应的字符串。每棵树的名字是不能重复的,因此如果发现当前数的名字已经被使用了,那么可以在名字后面加入后缀 (m),其中m是正整数,并且在满足名字唯一条件下m要尽可能小。
返回一个字符串vector,长度为n,其中下标为i对应的字符串为第i棵树的名字。
示例1:
输入
["pddd", "fdaf", "fdaf", "fdsfsd"]
输出
["pddd", "fdaf", "fdaf(1)", "fdsfsd"]
代码:

class Solution{
public:vector<string> GetTreeNames(vector<string>& names) {unordered_map<string, int> data;vector<string> res;for(string& str : names){		if(data[str] > 0)str = str + "(" + to_string(data[str]) + ")"res.push_back(str);data[str]++;}return res;}
}

相关文章:

20230821-字符串相乘-给树命名(unordered_map)

字符串相乘 有两个非负整数字符串num1&#xff0c;num2&#xff0c;计算num1和num2所表达整数的乘积&#xff0c;结果以字符串形式存储。注意:不能通过强制转换方法解题。 示例1&#xff1a; 输入&#xff1a; "4", "3" 输出&#xff1a; "12" …...

[Go版]算法通关村第十二关黄金——字符串冲刺题

目录 题目&#xff1a;最长公共前缀解法1&#xff1a;纵向对比-循环内套循环写法复杂度&#xff1a;时间复杂度 O ( n ∗ m ) O(n*m) O(n∗m)、空间复杂度 O ( 1 ) O(1) O(1)Go代码 解法2&#xff1a;横向对比-两两对比&#xff08;类似合并K个数组、合并K个链表&#xff09;复…...

neovim为工作区添加本地clangd配置

1 背景 尝试使用neovim开发stm32&#xff0c;使用clangd作为LSP提供代码补全等功能。 2 思路 使用stm32cubeMX生成一个基于makefile的stm32工程。 使用bear或compiledb基于makefile生成compile_commands.json文件。 为clangd配置--query-driver选项&#xff0c;使其使用arm…...

信号处理--基于EEG脑电信号的眼睛状态的分析

本实验为生物信息学专题设计小项目。项目目的是通过提供的14导联EEG 脑电信号&#xff0c;实现对于人体睁眼和闭眼两个状态的数据分类分析。每个脑电信号的时长大约为117秒。 目录 加载相关的库函数 读取脑电信号数据并查看数据的属性 绘制脑电多通道连接矩阵 绘制两类数据…...

Redis高可用:主从复制详解

目录 1.什么是主从复制&#xff1f; 2.优势 3.主从复制的原理 4.全量复制和增量复制 4.1 全量复制 4.2 增量复制 5.相关问题总结 5.1 当主服务器不进行持久化时复制的安全性 5.2 为什么主从全量复制使用RDB而不使用AOF&#xff1f; 5.3 为什么还有无磁盘复制模式&#xff…...

[Flutter]有的时候调用setState(() {})报错?

先看FlutterSDK的原生类State中有一个变量mounted。 abstract class State<T extends StatefulWidget> with Diagnosticable {/// mounted的作用是&#xff0c;此State对象当前是否在树中。/// 在创建State对象之后&#xff0c;在调用initState之前&#xff0c;框架通过…...

利用屏幕水印学习英语单词,无打扰英语单词学习

1、利用屏幕水印学习英语单词&#xff0c;不影响任何鼠标键盘操作&#xff0c;不影响工作 2、利用系统热键快速隐藏&#xff08;ALT1键 隐藏与显示&#xff09; 3、日积月累单词会有进步 4、软件下载地址: 免安装&#xff0c;代码未加密&#xff0c;安全的屏幕水印学习英语…...

开学必备物品清单!这几款优先考虑!

​马上就要开学了&#xff0c;同学们也要准备一系列开学用品&#xff0c;方便我们的学习生活&#xff0c;那有哪些数码物品可以在开学前准备的呢&#xff0c;接下来给大家安利几款很不错很实用的数码好物&#xff01; 推荐一&#xff1a;南卡00压开放式蓝牙耳机 南卡00压开放式…...

聊聊调制解调器

目录 1.什么是调制解调器 2.调制解调器的工作原理 3.调制解调器的作用 4.调制解调器未来发展 1.什么是调制解调器 调制解调器&#xff08;Modem&#xff09;是一种用于在数字设备和模拟设备之间进行数据传输的设备。调制解调器将数字数据转换为模拟信号进行传输&#xff0c;…...

Go语言入门指南:基础语法和常用特性(下)

上一节&#xff0c;我们了解Go语言特性以及第一个Go语言程序——Hello World&#xff0c;这一节就让我们更深入的了解一下Go语言的**基础语法**吧&#xff01; 一、行分隔符 在 Go 程序中&#xff0c;一行代表一个语句结束。每个语句不需要像 C 家族中的其它语言一样以分号 ;…...

【MFC常用问题记录】

MFC 记录 MFC的edit control控件显示1.控件添加变量M_edit后&#xff1a;2.控件ID为IDC_EDIT1: 线程函数使用 MFC的edit control控件显示 1.控件添加变量M_edit后&#xff1a; CString str; int x 10; str.Format(_T("%d"),x); M_edit.SetWindowText(str)2.控件ID…...

ThreadLocal内存泄漏问题

引子&#xff1a; 内存泄漏&#xff1a;是指本应该被GC回收的无用对象没有被回收&#xff0c;导致内存空间的浪费&#xff0c;当内存泄露严重时会导致内存溢出。Java内存泄露的根本原因是&#xff1a;长生命周期的对象持有短生命周期对象的引用&#xff0c;尽管短生命周期对象已…...

微服务基础概念【内含图解】

目录 拓展补充&#xff1a; 单体架构 分布式架构 面向服务的体系结构 云原生 微服务架构 什么是微服务&#xff1f; 微服务定义 拓展补充&#xff1a; 单体架构 单体架构&#xff1a;将业务的所有功能集中在一个项目中开发&#xff0c;最终打成一个包部署 优点&#x…...

Dockerfile创建 LNMP 服务+Wordpress 网站平台

文章目录 一.环境及准备工作1.项目环境2.服务器环境3.任务需求 二.Linux 系统基础镜像三.docker构建Nginx1.建立工作目录上传安装包2.编写 Dockerfile 脚本3.准备 nginx.conf 配置文件4.生成镜像5.创建自定义网络6.启动镜像容器7.验证 nginx 四.docker构建Mysql1. 建立工作目录…...

消息中间件篇

消息中间件篇 RabbitMQ 如何保证消息不丢失 面试官&#xff1a; RabbitMQ如何保证消息不丢失 候选人&#xff1a; 嗯&#xff01;我们当时MYSQL和Redis的数据双写一致性就是采用RabbitMQ实现同步的&#xff0c;这里面就要求了消息的高可用性&#xff0c;我们要保证消息的不…...

基本定时器

1.简介 1. 基本定时器 TIM6 和 TIM7 包含一个 16 位自动重载计数器 2. 可以专门用于驱动数模转换器 (DAC), 用于触发 DAC 的同步电路 3. 16 位自动重载递增计数器 4. 16 位可编程预分频器 5. 计数器溢出时, 会触发中断/DMA请求 从上往下看 1.开始RCC供给定时器的时钟 RCC_APB1…...

MySQL 中文全文检索

创建索引&#xff08;MySQL 5.7.6后全文件索引可用WITH PARSER ngram&#xff0c;针对中文&#xff0c;日文&#xff0c;韩文&#xff09; ALTER TABLE 表 ADD FULLTEXT 索引名 (字段) WITH PARSER ngram;或者CREATE FULLTEXT INDEX 索引名 ON 表 (字段) WITH PARSER ngram; …...

Redis——list类型详解

概要 Redis中的list类型相当于双端队列&#xff0c;支持头插&#xff0c;头删&#xff0c;尾插&#xff0c;尾删&#xff0c;并且列表中的内容是可以重复的。 如果搭配使用rpush和lpop&#xff0c;那么就相当于队列 如果搭配使用rpush和rpop&#xff0c;那么就相当于栈 lpu…...

npm 安装 git 仓库包

安装 #v1.0.0 代表版本, 例如打了仓库一个tag叫v1.0.0; 如果不指定版本则默认是最新的代码 npm install githttp://mygitlab.xxxx.net/chengchongzhen/hex-event-track.git#v1.0.0在项目根目录执行以下命令, 此时你的代码会被链接到npm的全局仓库, 类似执行了 npm install xxx …...

问题来了!你知道你穿的防砸劳保鞋的保护包头都是什么材料

防砸劳保鞋是较为常见的一种劳保鞋&#xff0c;用于作业过程中保护工人的脚&#xff0c;减少或避免被坠落物、重物砸伤或压伤脚部的工作鞋。防砸安全鞋鞋前头装有防护包头&#xff0c;具有耐压力和抗冲击性能。主要适用于矿山、机械、建筑、钢铁、冶金、运输等行业。 你穿的防砸…...

从‘古董’到统一:聊聊Linux内核中buffer与cache合并背后的那些事儿(附free命令实战)

从‘古董’到统一&#xff1a;Linux内核中buffer与cache合并背后的设计哲学 在Linux系统的性能优化领域&#xff0c;free命令的输出一直是开发者关注的焦点。当你键入free -h时&#xff0c;那行看似简单的"buff/cache"统计背后&#xff0c;隐藏着一段跨越二十年的内…...

3D设计工作流救星:STL转STEP一键转换,让CAD协作不再卡顿 [特殊字符]

3D设计工作流救星&#xff1a;STL转STEP一键转换&#xff0c;让CAD协作不再卡顿 &#x1f60a; 【免费下载链接】stltostp Convert stl files to STEP brep files 项目地址: https://gitcode.com/gh_mirrors/st/stltostp 您是否遇到过这样的困境&#xff1f;精心设计的3…...

【Mem0】 源码剖析(一):Agent 的记忆危机与 Mem0 的三阶段管道——为什么 RAG 不够用?

【Mem0】 源码剖析&#xff08;一&#xff09;&#xff1a;Agent 的记忆危机与 Mem0 的三阶段管道——为什么 RAG 不够用&#xff1f; 写在前面&#xff1a;54K Star&#xff0c;论文被 arXiv 收录&#xff0c;LOCOMO 基准 SOTA——Mem0 是当前 Agent 记忆层的事实标准。它的核…...

基于OpenAI API与社交平台集成的智能聊天机器人构建指南

1. 项目概述&#xff1a;一个整合社交与AI的自动化工具箱最近在GitHub上看到一个挺有意思的项目&#xff0c;叫“Whatsapp_Instagram_Messanger_ChatGPT_OpenAI”。光看这个标题&#xff0c;你大概就能猜到它的野心不小——它试图把WhatsApp、Instagram、Messenger这几个主流社…...

GPT-5.5推理效率优化背后的5个核心技术突破

概要GPT-5.5是OpenAI于2026年4月23日发布的旗舰模型&#xff0c;代号"Spud"。最近在库拉&#xff08;c.877ai.cn&#xff09;AI工具聚合平台上做了集中测试&#xff0c;GPT-5.5的推理效率提升不是单一优化的结果&#xff0c;而是五个核心技术方向同时突破。从数据看&…...

告别X11!在Ubuntu 22.04上从源码编译Wayland+Weston桌面(保姆级避坑指南)

从X11到Wayland&#xff1a;Ubuntu 22.04源码编译Weston全流程实战 如果你已经受够了X11的老旧架构和偶尔的卡顿&#xff0c;现在是时候拥抱Wayland了。作为Linux桌面图形栈的下一代接班人&#xff0c;Wayland不仅在设计上更现代化&#xff0c;还能带来更流畅的图形体验。本文将…...

基于硬件虚拟化的AI智能体安全隔离方案Clawcage设计与实现

1. 项目概述&#xff1a;为AI智能体打造一个坚不可摧的“笼子”如果你最近在尝试运行一些本地的AI智能体&#xff0c;比如Claude Desktop、Cursor的Agent模式&#xff0c;或者各种开源的AI助手工具&#xff0c;心里可能总会有点打鼓。这些工具功能强大&#xff0c;但它们背后运…...

AI编程工具的内卷:Copilot、Cursor、通义灵码,谁能笑到最后?

当“内卷”的风吹到AI编程工具2026年&#xff0c;AI编程工具已不再是新鲜事物&#xff0c;而是开发者工具箱中的标配。从最初的代码补全&#xff0c;到如今的全栈智能体&#xff0c;这个赛道正经历着一场前所未有的“内卷”。GitHub Copilot、Cursor、通义灵码三足鼎立&#xf…...

【Google全家桶AI功能2026终极前瞻】:20位谷歌AI Lab核心工程师闭门透露的7大颠覆性升级路径

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;Google全家桶AI功能2026升级全景图谱 2026年&#xff0c;Google正式将Gemini 3.5 Ultra深度集成至全系生产力产品中&#xff0c;实现跨端、实时、上下文感知的AI协同。核心升级聚焦于“意图理解前置化”…...

2026 年 TanStack npm 供应链遭入侵:42 个包 84 版本受影响,多方面待解决问题待明确

总结2026 年 5 月 11 日 19:20 至 19:26 UTC 期间&#xff0c;攻击者通过结合“Pwn Request”模式的 pull_request_target、跨越分叉↔主库信任边界的 GitHub Actions 缓存投毒&#xff0c;以及从 GitHub Actions 运行器进程中提取 OIDC 令牌&#xff0c;在 42 个 tanstack/* n…...