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

刷题笔记(第五天)

1. 给定一个罗马数字,将其转换成整数。

罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。

字符          数值
I             1
V             5
X             10
L             50
C             100
D             500
M             1000
例如, 罗马数字 2 写做 II ,即为两个并列的 1 。12 写做 XII ,即为 X + II 。 27 写做  XXVII, 即为 XX + V + II 。

通常情况下,罗马数字中小的数字在大的数字的右边。但也存在特例,例如 4 不写做 IIII,而是 IV数字 1 在数字 5 的左边,所表示的数等于大数 5 减小数 1 得到的数值 4 。同样地,数字 9 表示为 IX。这个特殊的规则只适用于以下六种情况:

I 可以放在 V (5) 和 X (10) 的左边,来表示 4 和 9。
X 可以放在 L (50) 和 C (100) 的左边,来表示 40 和 90。 
C 可以放在 D (500) 和 M (1000) 的左边,来表示 400 和 900。

输入: s = "III"  输出: 3

输入: s = "IV"  输出: 4

输入: s = "IX" 输出: 9

var romanToInt = function(s) {let m=new Map([['I',1],['V',5],['X',10],['L',50],['C',100],['D',500],['M',1000]]);let res=0;for(let i=0;i<s.length;i++) {let left=m.get(s[i]);let right=m.get(s[i+1]);res+=left<right?-left:left;// 题意就是:当左侧小于右侧 右侧-左侧;当左侧大于右侧 左侧+右侧}return res;
};

2. 两数之和

给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target  的那 两个 整数,并返回它们的数组下标。数组中同一个元素在答案里不能重复出现。

输入:nums = [2,7,11,15], target = 9
输出:[0,1]
解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 。

var twoSum = function(nums, target) {if (nums.length > 0) {let o = nums[0];let t = nums[0];for (let i = 0; i < nums.length; i++) {for (let j = i + 1; j < nums.length; j++) {if (nums[i] + nums[j] === target) {o = i;t = j;}}}return [o, t]} else {return [-1, -1]}
}

3.给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。

这个题官方解答用了“滑动窗口”,后面要再仔细看一下。

输入: s = "abcabcbb"
输出: 3 
解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。


var lengthOfLongestSubstring = function (s) {if (s.length === 0 || s.length === 1) {return s.length;} else {let s1 = '';let a = [];for (let i = 0; i < s.length; i++) {if (s1.includes(s.charAt(i)) === true) {s1 += s.charAt(i)// console.log(a, a.length);// console.log(s1.length, i);i = i - s1.length + 1// console.log(i);s1 = '';// console.log(i);} else {s1 += s.charAt(i);}a.push(s1.length)}console.log(a);let m = a[0];for (let i = 0; i < a.length; i++) {if (m < a[i]) {m = a[i]}}return m;}
};

每一次要将存储最长子串的变量s1置空的时候,将该子串的长度存入数组a中、同时要注意将i退回(i-s1.length+1),最后找出数组a中最大元素,即最长子串的长度。

以下是其他人的解答,感觉更简单易懂:

var lengthOfLongestSubstring = function(str) {if (str.length <= 1) {return str.length}let left = 0let right = 1let max = 0let tempwhile(right<str.length){temp = str.slice(left, right)if (temp.indexOf(str.charAt(right)) > -1) {left++continue} else {right++}if (right - left > max) { max = right - left }}return max
};// 作者:Romantic Ardinghellix4s
// 链接:https://leetcode.cn/problems/longest-substring-without-repeating-characters/
// 来源:力扣(LeetCode)

相关文章:

刷题笔记(第五天)

1. 给定一个罗马数字&#xff0c;将其转换成整数。 罗马数字包含以下七种字符: I&#xff0c; V&#xff0c; X&#xff0c; L&#xff0c;C&#xff0c;D 和 M。 字符 数值 I 1 V 5 X 10 L 50 C 100 …...

【OpenHarmony内核】Harmony内核互斥性信号量

文章目录 前言一、互斥性信号量是什么?二、互斥性信号量2.1 osSemaphoreNew函数创建并初始化一个信号量对象2.2 osSemaphoreGetName获取信号量对象的名称2.3 osSemaphoreAcquire获取一个信号量令牌2.4 osSemaphoreRelease2.5 osSemaphoreGetCount获取当前信号量令牌的数量2.6 …...

给OFFICE增加一个功能搜索

OFFICE功能几乎是无限的。不论你怎么熟悉&#xff0c;总有出乎意料的功能。前几天我使用EXCEL时&#xff0c;发现一个功能改名了。于是我就想&#xff0c;OFFICE应该增加一个功能搜索&#xff1a; 提供一个搜索输入栏。这个已经有了。输入搜索字串弹出一个面板&#xff0c;附带…...

53基于matlab的Tamura纹理特征提取

基于matlab的Tamura纹理特征提取&#xff0c;包括粗糙度、对比度、方向度、线性度、规则度、粗糙度六种&#xff0c;可替换自己的数据进行特征提取。程序已调通&#xff0c;可直接运行。 53 方向度、线性度、规则度 (xiaohongshu.com)...

C++初阶--类与对象(3)(图解)

文章目录 再谈构造函数初始化列表隐式类型转换explicit关键字 static成员友元类内部类匿名对象拷贝函数时的一些优化 再谈构造函数 在我们之前的构造函数中&#xff0c;编译器会通过构造函数&#xff0c;对对象中各个成员给出一个适合的初始值&#xff0c;但这并不能称之为初始…...

考研分享第1期 | 末9生物跨专业考研北京大学电子信息404分经验分享

全文概览 一、个人信息 二、关于考研的经验分享 三、最后的小Tips 一、个人信息 姓名&#xff1a;Jackson 本科院校&#xff1a;某末流985生物专业 报考院校&#xff1a;北京大学电子信息专业 择校意向&#xff1a;北航计算机、人大高瓴、复旦软院、清华大学深研院、北…...

openGauss学习笔记-120 openGauss 数据库管理-设置密态等值查询-概述及使用gsql操作密态数据库

文章目录 openGauss学习笔记-120 openGauss 数据库管理-设置密态等值查询-概述及使用gsql操作密态数据库120.1 密态等值查询概述120.2 使用gsql操作密态数据库 openGauss学习笔记-120 openGauss 数据库管理-设置密态等值查询-概述及使用gsql操作密态数据库 120.1 密态等值查询…...

软件自动化测试平台

软件测试分类黑盒、白盒、功能、API、接口、压力测试和性能测试&#xff0c; 自动化测试平台是一种用于自动化执行软件测试过程的工具。 一、自动化测试平台-功能性 1. 接口自动化&#xff1a;对接软件的接口进行测试&#xff0c;验证接口的功能和性能。 2. Web 自动化&…...

springMVC 导出Excel ,并提供下载(处理日期格式问题)

目录 1、POI的三个依赖 2、控制层代码 3、业务层代码 4、参考文献&#xff1a; 1、POI的三个依赖 <!-- POI的三个依赖 --><dependency><groupId>org.apache.poi</groupId><artifactId>poi</artifactId><version>4.1.2</vers…...

软件工程理论与实践 (吕云翔) 第二章软件过程 课后习题及其答案

软件工程理论与实践 (吕云翔) 第二章课后习题 第二章 软件过程 1.判断题 &#xff08;1&#xff09;瀑布模型的最大优点是将软件开发的各个阶段划分得十分清晰。 ( ) &#xff08;2&#xff09;螺旋模型是在瀑布模型和增量模型的基础上增加了风险分析活动。( ) &#xf…...

HTML跳转锚点

跳转锚点适用于本页面和其他页面的任意标签的跳转以及JavaScript的运行 使用方法即给标签加上独一无二的id属性&#xff0c;再使用a标签跳转 如果是其他页面的标签只需加上其他页面的路径&#xff0c;eg.href"其他页面的路径#zp1" id属性的最好不要使用数字开头 <…...

新能源汽车高压线束是如何快速连接到测试设备上进行电性能测试的

快速连接形成稳定的电测试在新能源行业里面是很常见的测试场景&#xff0c;比如说在新能源汽车行业的电池包、电机、电控制器的电性能测试中会有很多高压线束&#xff0c;需要将这些线束和电池包、电控制器、电机与测试设备快速连接在一起进行相关的EOL/DCR测试。 新能源汽车高…...

Azure 机器学习 - 使用受保护工作区时的网络流量流

目录 环境准备入站和出站要求方案&#xff1a;从工作室访问工作区方案&#xff1a;从工作室使用 AutoML、设计器、数据集和数据存储方案&#xff1a;使用计算实例和计算群集方案&#xff1a;使用联机终结点入站通信出站通信 方案&#xff1a;使用 Azure Kubernetes 服务方案&am…...

强化学习中蒙特卡罗方法

一、蒙特卡洛方法 这里将介绍一个学习方法和发现最优策略的方法&#xff0c;用于估计价值函数。与前文不同&#xff0c;这里我们不假设完全了解环境。蒙特卡罗方法只需要经验——来自实际或模拟与环境的交互的样本序列的状态、动作和奖励。从实际经验中学习是引人注目的&#x…...

Pytorch从零开始实战09

Pytorch从零开始实战——YOLOv5-Backbone模块实现 本系列来源于365天深度学习训练营 原作者K同学 文章目录 Pytorch从零开始实战——YOLOv5-Backbone模块实现环境准备数据集模型选择开始训练可视化模型预测总结 环境准备 本文基于Jupyter notebook&#xff0c;使用Python3.…...

Milvus Cloud ——Agent 的展望

Agent 的展望 目前,LLM Agent 大多是处于实验和概念验证的阶段,持续提升 Agent 的能力才能让它真正从科幻走向现实。当然,我们也可以看到,围绕 LLM Agent 的生态也已经开始逐渐丰富,大部分工作都可以归类到以下三个方面进行探索: Agent模型 AgentBench[4] 指出了不同的 L…...

EM@比例恒等式@分式恒等式

文章目录 比例恒等式(分式恒等式)分式等式链例 比例恒等式(分式恒等式) 设 a b c d \frac{a}{b}\frac{c}{d} ba​dc​(0)令这个比值为 k k k,则 a k b akb akb(0-1), c k d ckd ckd(0-2),以下恒等式在表达式有意义的情形下成立(例如分母不为0) 合比定理: a b b c d d \f…...

使用米联客FPGA开发板进行光口开发时遇到的问题总结

使用的开发板型号&#xff1a;米联客MA703FA&#xff0c; 实物图如下 FPGA型号为a35t 米联客提供的开发板资料中的FPGA型号为a100&#xff0c;所以要想使用开发板例程必须进行FPGA的重新选择。如下图 通过对开发板原理图的分析&#xff0c;例程代码不用做任何修改就可使用&am…...

【chat】 1:Ubuntu 20.04.3 编译安装moduo master分支

muduo 基于reactor反应堆模型的多线程C++网络库大佬的官方仓库有cpp17分支看了下cmakelist文件里面还是要依赖不少库,比如boost protobuf而且cpp17 似乎 是2021年的master 是2022更新的那么还是选择master吧。ubuntu版本 Ubuntu 20.04.3 root@k8s-master-2K4G:~# uname -a Lin…...

C#基于inpoutx64读写ECRAM硬件信息

inpoutx64.dll分享路径&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/1rOt0xtt9EcsrFQtf7S91ag 提取码&#xff1a;7om1 1.InpOutManager&#xff1a; using System; using System.Collections.Generic; using System.Linq; using System.Runtime.InteropServi…...

华为云AI开发平台ModelArts

华为云ModelArts&#xff1a;重塑AI开发流程的“智能引擎”与“创新加速器”&#xff01; 在人工智能浪潮席卷全球的2025年&#xff0c;企业拥抱AI的意愿空前高涨&#xff0c;但技术门槛高、流程复杂、资源投入巨大的现实&#xff0c;却让许多创新构想止步于实验室。数据科学家…...

Chapter03-Authentication vulnerabilities

文章目录 1. 身份验证简介1.1 What is authentication1.2 difference between authentication and authorization1.3 身份验证机制失效的原因1.4 身份验证机制失效的影响 2. 基于登录功能的漏洞2.1 密码爆破2.2 用户名枚举2.3 有缺陷的暴力破解防护2.3.1 如果用户登录尝试失败次…...

ssc377d修改flash分区大小

1、flash的分区默认分配16M、 / # df -h Filesystem Size Used Available Use% Mounted on /dev/root 1.9M 1.9M 0 100% / /dev/mtdblock4 3.0M...

QT: `long long` 类型转换为 `QString` 2025.6.5

在 Qt 中&#xff0c;将 long long 类型转换为 QString 可以通过以下两种常用方法实现&#xff1a; 方法 1&#xff1a;使用 QString::number() 直接调用 QString 的静态方法 number()&#xff0c;将数值转换为字符串&#xff1a; long long value 1234567890123456789LL; …...

Swagger和OpenApi的前世今生

Swagger与OpenAPI的关系演进是API标准化进程中的重要篇章&#xff0c;二者共同塑造了现代RESTful API的开发范式。 本期就扒一扒其技术演进的关键节点与核心逻辑&#xff1a; &#x1f504; 一、起源与初创期&#xff1a;Swagger的诞生&#xff08;2010-2014&#xff09; 核心…...

视频行为标注工具BehaviLabel(源码+使用介绍+Windows.Exe版本)

前言&#xff1a; 最近在做行为检测相关的模型&#xff0c;用的是时空图卷积网络&#xff08;STGCN&#xff09;&#xff0c;但原有kinetic-400数据集数据质量较低&#xff0c;需要进行细粒度的标注&#xff0c;同时粗略搜了下已有开源工具基本都集中于图像分割这块&#xff0c…...

安全突围:重塑内生安全体系:齐向东在2025年BCS大会的演讲

文章目录 前言第一部分&#xff1a;体系力量是突围之钥第一重困境是体系思想落地不畅。第二重困境是大小体系融合瓶颈。第三重困境是“小体系”运营梗阻。 第二部分&#xff1a;体系矛盾是突围之障一是数据孤岛的障碍。二是投入不足的障碍。三是新旧兼容难的障碍。 第三部分&am…...

代码规范和架构【立芯理论一】(2025.06.08)

1、代码规范的目标 代码简洁精炼、美观&#xff0c;可持续性好高效率高复用&#xff0c;可移植性好高内聚&#xff0c;低耦合没有冗余规范性&#xff0c;代码有规可循&#xff0c;可以看出自己当时的思考过程特殊排版&#xff0c;特殊语法&#xff0c;特殊指令&#xff0c;必须…...

Linux系统部署KES

1、安装准备 1.版本说明V008R006C009B0014 V008&#xff1a;是version产品的大版本。 R006&#xff1a;是release产品特性版本。 C009&#xff1a;是通用版 B0014&#xff1a;是build开发过程中的构建版本2.硬件要求 #安全版和企业版 内存&#xff1a;1GB 以上 硬盘&#xf…...

Axure 下拉框联动

实现选省、选完省之后选对应省份下的市区...