自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(295)
  • 收藏
  • 关注

原创 算法题汇总

1. 数组算法题——合并区间2. 链表链表中的节点每k个一组翻转3. 队列无重复字符的最长子串4. 哈希表两数之和5. 字符串有效的括号6. 树最近公共祖先7. 双指针合并两个有序数组接雨水三数之和8. 动态规划最长回文子串9. 贪心算法买卖股票的最佳时机10. 数学求的平方根11. 其他设计LRU缓存结构...

2021-04-28 00:09:40 160

原创 《剑指 Offer》题目汇总

文章目录1. 数组2. 链表3. 栈和队列4. 哈希表5. 字符串6. 树7. 堆8. 回溯和深度优先搜索9. 递归和循环10. 双指针11. 动态规划12. 贪心算法13. 二分查找14. 正则表达式15. 位运算16. 数学1. 数组《剑指 Offer》——1、二维数组中的查找《剑指 Offer》——13、调整数组顺序使奇数位于偶数前面《剑指 Offer》——19、顺时针打印矩阵《剑指 Offer》——32、把数组排成最小的数《剑指 Offer》——45、扑克牌顺子《剑指 Offer》——

2021-02-21 14:26:52 564

转载 SQL 慢查询常用优化方法

文章目录一、避免回表查询二、联合索引三、避免索引失效四、使用执行计划优化先创建测试表并使用存储过程插入测试数据CREATE TABLE `cif_student` ( `id` varchar(40) NOT NULL, `name` varchar(40) DEFAULT NULL, `age` varchar(40) DEFAULT NULL, `class_id` varchar(40) DEFAULT NULL, `class_name` varchar(40) DEFAUL

2022-03-04 10:19:28 3574

转载 深入理解 SELECT ... LOCK IN SHARE MODE 和 SELECT ... FOR UPDATE

概念和区别SELECT … LOCK IN SHARE MODE走的是IS锁(意向共享锁),即在符合条件的rows上都加了共享锁,这样的话,其他session可以读取这些记录,也可以继续添加IS锁,但是无法修改这些记录直到你这个加锁的session执行完成(否则直接锁等待超时)。SELECT … FOR UPDATE 走的是IX锁(意向排它锁),即在符合条件的rows上都加了排它锁,其他session也就无法在这些记录上添加任何的S锁或X锁。如果不存在一致性非锁定读的话,那么其他session是无法读取

2022-02-23 15:24:20 625

转载 理解、学习与使用 Java 中的 Optional(转载)

文章目录1. Optional 类简介2. 创建 Optional 实例2.1 返回默认值2.2 返回异常3. 转换值4. Optional 类的链式方法5. Java 9 增强6. Optional 应该怎样用?声明:本博客转载自https://www.oschina.net/translate/understanding-accepting-and-leveraging-optional-in?lang=chs&p=1,旨在方便复习和回顾,并非用作商业用途。本博客已标明出处,如有侵权

2021-11-16 09:06:54 280

转载 Jackson 之 ObjectMapper 对象的使用(转载)

文章目录1. 简介2. Jackson 的数据绑定3. Jackson ObjectMapper 对象示例4. 反序列化4.1 ObjectMapper 从 JSON 属性匹配到 Java 属性的过程4.2 从 JSON 字符串读取 Java 对象4.3 从 JSON Reader 对象读取 Java 对象4.4 从 JSON 文件读取 Java 对象4.5 从 URL 获取 JSON 数据读取 Java 对象4.6 从 Java InputStream 获取 JSON 数据读取 Java 对象4.7 从字

2021-10-27 19:20:27 1204

原创 Spring Cloud 负载均衡

文章目录1. Ribbon 客户端负载均衡1.1 Ribbon 概述1.2 Ribbon 远程调用1.3 Ribbon 负载均衡1.4 Ribbon 负载均衡策略1. Ribbon 客户端负载均衡1.1 Ribbon 概述Ribbon 是 Netflix 提供的一个基于 HTTP 和 TCP 的客户端负载均衡工具。Ribbon主要有两个功能:简化远程调用负载均衡客户端负载均衡和服务端负载均衡的区别服务端负载均衡负载均衡算法在服务端由负载均衡器维护服务地址列表客户端负

2021-09-16 20:04:37 677

转载 MySQL 性能优化神器 Explain(转载)

文章目录简介准备EXPLAIN 输出格式select_typetabletypetype 常用类型type 类型的性能比较possible_keyskeykey_lenrowsExtra简介MySQL 提供了一个 EXPLAIN 命令, 它可以对 SELECT 语句进行分析, 并输出 SELECT 执行的详细信息, 以供开发人员针对性优化.EXPLAIN 命令用法十分简单, 在 SELECT 语句前加上 Explain 就可以了, 例如:EXPLAIN SELECT * from user_info

2021-09-15 14:07:04 122

原创 Spring Cloud 服务治理

文章目录1. Eureka1.1 Eureka 简介1.2 Eureka 学习步骤1.3 Eureka 相关配置及特性1.4 Eureka 自我保护机制1.5 Eureka 高可用2. Consul2.1 Consul 简介2.2 Consul 安装运行2.3 Consul 快速入门3. Nacos3.1 Nacos 简介3.2 Nacos 安装运行3.3 Nacos 快速入门1. Eureka1.1 Eureka 简介Eureka 是 Netflix 公司开源的一个服务注册与发现的组件 。Eu

2021-09-14 19:06:13 219

原创 初识 Spring Cloud

文章目录1. 微服务架构2. 走进 Spring Cloud3. Spring Cloud 与 Dubbo 对比4. 小结1. 微服务架构"微服务” 一词源于 Martin Fowler 的名为 Microservices 的博文,可以在他的官方博客上找到http://martinfowler.com/articles/microservices.html微服务是系统架构上的一种设计风格,它的主旨是将一个原本独立的系统拆分成多个小型服务,这些小型服务都在各自独立的进程中运行,服务之间一般通过 HT

2021-09-12 18:53:03 226

原创 《大型网站技术架构》笔记——2. 大型网站架构模式

文章目录前言2.1 网站架构模式2.1.1 分层2.1.2 分割2.1.3 分布式2.1.4 集群2.1.5 缓存2.1.6 异步2.1.7 冗余2.1.8 自动化2.1.9 安全2.2 架构模式在新浪微博的应用2.3 小结声明:本博客是本人在学习《大型网站技术架构:核心原理与案例分析》后整理的笔记,旨在方便复习和回顾,并非用作商业用途。本博客已标明出处,如有侵权请告知,马上删除。前言关于什么是模式,这个来自建筑学的词汇是这样定义的:“每一个模式描述了一个在我们周围不断重复发生的问题及该问题解

2021-09-09 00:22:27 93

原创 《大型网站技术架构》笔记——1. 大型网站架构演化

文章目录前言1.1 大型网站软件系统的特点1.2 大型网站架构演化发展历程1.2.1 初始阶段的网站架构1.2.2 应用服务和数据服务分离1.2.3 使用缓存改善网站性能1.2.4 使用应用服务器集群改善网站的并发处理能力1.2.5 数据库读写分离1.2.6 使用反向代理和 CDN 加速网站响应1.2.7 使用分布式文件系统和分布式数据库系统1.2.8 使用 NoSQL 和搜索引擎1.2.9 业务拆分1.2.10 分布式服务1.3 大型网站架构演化的价值观1.3.1 大型网站架构技术的核心价值是随网站所需灵

2021-08-25 19:44:31 146

原创 Redis6——1. NoSQL数据库简介

文章目录1. NoSQL 数据库解决的问题1.1 技术的分类1.2 技术的发展1.3 NoSQL 解决 CPU 及内存压力1.4 解决 IO 压力2. NoSQL 数据库2.1 NoSQL 数据库概述2.2 NoSQL 适用场景2.3 NoSQL 不适用场景2.4 常见 NoSQL2.4.1 Memcache2.4.2 Redis2.4.3 MongoDB1. NoSQL 数据库解决的问题1.1 技术的分类解决功能性的问题:Java、Jsp、RDBMS、Tomcat、HTML、Linux、JDBC、

2021-08-19 19:13:54 195

原创 《MySQL 实战 45 讲》笔记——8. 事务到底是隔离的还是不隔离的?

文章目录事务与锁“快照” 在 MVCC 里是怎么工作的?更新逻辑小结上期问题时间事务与锁我在第 3 篇文章和你讲事务隔离级别的时候提到过,如果是可重复读隔离级别,事务 T 启动的时候会创建一个视图 read-view,之后事务 T 执行期间,即使有其他事务修改了数据,事务 T 看到的仍然跟在启动时看到的一样。也就是说,一个在可重复读隔离级别下执行的事务,好像与世无争,不受外界影响。但是,我在上一篇文章中,和你分享行锁的时候又提到,一个事务要更新一行,如果刚好有另外一个事务拥有这一行的行锁,它又不能这么

2021-08-13 09:28:13 113

原创 《MySQL 实战 45 讲》笔记——7. 行锁功过:怎么减少行锁对性能的影响?

文章目录从两阶段锁说起死锁和死锁检测小结上期问题时间声明:本博客是本人在学习《MySQL 实战 45 讲》后整理的笔记,旨在方便复习和回顾,并非用作商业用途。本博客已标明出处,如有侵权请告知,马上删除。在上一篇文章中,我跟你介绍了 MySQL 的全局锁和表级锁,今天我们就来讲讲 MySQL 的行锁。MySQL 的行锁是在引擎层由各个引擎自己实现的。但并不是所有的引擎都支持行锁,比如 MyISAM 引擎就不支持行锁。不支持行锁意味着并发控制只能使用表锁,对于这种引擎的表,同一张表上任何时刻只能有

2021-08-11 20:03:03 137

原创 《MySQL 实战 45 讲》笔记——6. 全局锁和表锁 :给表加个字段怎么有这么多阻碍?

文章目录全局锁表级锁小结上期问题时间声明:本博客是本人在学习《MySQL 实战 45 讲》后整理的笔记,旨在方便复习和回顾,并非用作商业用途。本博客已标明出处,如有侵权请告知,马上删除。今天我要跟你聊聊 MySQL 的锁。数据库锁设计的初衷是处理并发问题。作为多用户共享的资源,当出现并发访问的时候,数据库需要合理地控制资源的访问规则。而锁就是用来实现这些访问规则的重要数据结构。根据加锁的范围,MySQL 里面的锁大致可以分成全局锁、表级锁和行锁三类。今天这篇文章,我会和你分享全局锁和表级锁。而

2021-08-10 12:00:02 112

原创 《MySQL 实战 45 讲》笔记——5. 深入浅出索引(下)

文章目录回表覆盖索引最左前缀原则索引下推小结上期问题时间声明:本博客是本人在学习《MySQL 实战 45 讲》后整理的笔记,旨在方便复习和回顾,并非用作商业用途。本博客已标明出处,如有侵权请告知,马上删除。回表在上一篇文章中,我和你介绍了 InnoDB 索引的数据结构模型,今天我们再继续聊聊跟 MySQL 索引有关的概念。在开始这篇文章之前,我们先来看一下这个问题:在下面这个表 T 中,如果我执行 select * from T where k between 3 and 5,需要执行几次

2021-08-06 19:49:05 119

原创 《MySQL 实战 45 讲》笔记——4. 深入浅出索引(上)

文章目录索引索引的常见模型InnoDB 的索引模型索引维护小结上期问题时间声明:本博客是本人在学习《MySQL 实战 45 讲》后整理的笔记,旨在方便复习和回顾,并非用作商业用途。本博客已标明出处,如有侵权请告知,马上删除。索引提到数据库索引,我想你并不陌生,在日常工作中会经常接触到。比如某一个 SQL 查询比较慢,分析完原因之后,你可能就会说 “给某个字段加个索引吧” 之类的解决方案。但到底什么是索引,索引又是如何工作的呢?今天就让我们一起来聊聊这个话题吧。数据库索引的内容比较多,我分成了

2021-08-06 11:15:02 117

原创 《MySQL 实战 45 讲》笔记——3. 事务隔离:为什么你改了我还看不见?

文章目录事务隔离性与隔离级别事务隔离的实现事务的启动方式小结上期问题时间声明:本博客是本人在学习《MySQL 实战 45 讲》后整理的笔记,旨在方便复习和回顾,并非用作商业用途。本博客已标明出处,如有侵权请告知,马上删除。事务提到事务,你肯定不陌生,和数据库打交道的时候,我们总是会用到事务。最经典的例子就是转账,你要给朋友小王转 100 块钱,而此时你的银行卡只有 100 块钱。转账过程具体到程序里会有一系列的操作,比如查询余额、做加减法、更新余额等,这些操作必须保证是一体的,不然等程序查完

2021-08-04 19:58:16 114

原创 《MySQL 实战 45 讲》笔记——2. 日志系统:一条SQL更新语句是如何执行的?

文章目录一条更新语句的执行流程重要的日志模块:redo log重要的日志模块:binlog两阶段提交小结声明:本博客是本人在学习《MySQL 实战 45 讲》后整理的笔记,旨在方便复习和回顾,并非用作商业用途。本博客已标明出处,如有侵权请告知,马上删除。一条更新语句的执行流程前面我们系统了解了一个查询语句的执行流程,并介绍了执行过程中涉及的处理模块。相信你还记得,一条查询语句的执行过程一般是经过连接器、分析器、优化器、执行器等功能模块,最后到达存储引擎。那么,一条更新语句的执行流程又是怎样的

2021-08-04 02:31:31 131

转载 《MySQL 实战 45 讲》笔记——1. 基础架构:一条SQL查询语句是如何执行的?

文章目录MySQL 基本架构示意图连接器查询缓存分析器优化器执行器小结声明:本博客是本人在学习《MySQL 实战 45 讲》后整理的笔记,旨在方便复习和回顾,并非用作商业用途。本博客已标明出处,如有侵权请告知,马上删除。MySQL 基本架构示意图下面我给出的是 MySQL 的基本架构示意图,从中你可以清楚地看到 SQL 语句在 MySQL 的各个功能模块中的执行过程。大体来说,MySQL 可以分为 Server 层和存储引擎层两部分。Server 层包括连接器、查询缓存、分析器、优化器

2021-08-02 20:39:12 117

转载 Java 开发神器 Lombok 使用详解(转载)

文章目录什么是LombokLombok的安装Lombok的使用@Data@Setter@Getter@Log4j@AllArgsConstructor@NoArgsConstructor@EqualsAndHashCode@NonNull@RequiredArgsConstructor@Cleanup@ToString@Value@SneakyThrows@Synchronizedval@Builder声明:本博客转载自https://blog.csdn.net/wo541075754/articl

2021-07-29 09:56:33 3373

转载 我在工作中是如何使用 Git 的(转载)

文章目录Git简介Git 的工作区域和流程Git 基本操作git addgit commitgit pullgit fetchgit branch工作中使用 Git 解决问题的场景git rebase 让你的提交记录更加清晰可读git rebase 的使用git merge 和 git rebase 的区别git rebase 交互模式使用 git cherry-pick 获取指定的 commit使用 git revert 回滚某次的提交使用 git stash 来暂存文件不同的工作区域撤销更改配置 git

2021-07-20 15:53:57 100

原创 Docker

1. 初识 Java1.1 Docker 出现的原因我们写的代码会接触到好几个环境:开发环境、测试环境以及生产环境。但随之也会出现软件跨环境迁移问题,Dokcer 的出现正式为了解决这样的问题。1.2 Docker 的概念Docker 是一个开源的应用容器引擎。诞生于 2013 年初,基于 Go 语言实现,dotCloud 公司出品(后改名为Docker Inc)。Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上。容

2021-06-13 16:36:45 161

原创 IO 流

文章目录1. File 类1.1 File 类概述和构造方法1.2 File 类创建功能1.3 File 类删除功能1.4 File 类判断和获取功能1.5 案例:遍历目录2. 字节流2.1 IO 流概述和分类2.2 字节流写数据2.3 字节流写数据的 3 种方式2.4 字节流写数据的两个小问题2.5 字节流写数据加异常处理2.6 字节流读数据(一次读一个字节数据)2.7 案例:复制文本文件2.8 字节流读数据(一次读一个字节数组数据)2.9 字节缓冲流2.10 案例:复制视频2.11 案例:复制多级目录3

2021-06-05 13:42:46 102

原创 算法题——最长递增子序列

1. 本题知识点动态规划2. 题目描述给你一个整数数组 nums ,找到其中最长严格递增子序列的长度。子序列是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,[3,6,2,7] 是数组 [0,3,1,6,2,2,7] 的子序列。示例 1:输入:nums = [10,9,2,5,3,7,101,18]输出:4解释:最长递增子序列是 [2,3,7,101],因此长度为 4 。3. 解题思路本题可以看做是一个多阶段决策找最优解的问题,因此可以用典型的动态规划思

2021-04-28 11:54:37 521

原创 算法题——二叉树的右视图

1. 本题知识点二叉树2. 题目描述给定一棵二叉树,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。输入: [1,2,3,null,5,null,4]输出: [1, 3, 4]解释: 1 <--- / \2 3 <--- \ \ 5 4 <---3. 解题思路使用层次遍历,将每一层的最后一个结点加入返回结果中。4. 代码publ

2021-04-28 11:00:40 86

原创 算法题——合并区间

1. 本题知识点数组2. 题目描述以数组 intervals 表示若干个区间的集合,其中单个区间为 intervals[i] = [starti, endi] 。请你合并所有重叠的区间,并返回一个不重叠的区间数组,该数组需恰好覆盖输入中的所有区间。输入:intervals = [[1,3],[2,6],[8,10],[15,18]]输出:[[1,6],[8,10],[15,18]]解释:区间 [1,3] 和 [2,6] 重叠, 将它们合并为 [1,6].3. 解题思路对二维数组第一个元素

2021-04-28 00:03:30 332

原创 算法题——三数之和

1. 本题知识点双指针2. 题目描述给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?请你找出所有和为 0 且不重复的三元组。注意:答案中不可以包含重复的三元组。输入:nums = [-1,0,1,2,-1,-4]输出:[[-1,-1,2],[-1,0,1]]3. 解题思路对数组进行排序创建 Set 进行去重遍历数组,固定 num[i],移动双指针移动双指针,将符合的元素加入 Set将 Set 转换为

2021-04-27 22:37:41 174

原创 算法题——链表中的节点每k个一组翻转

1. 本题知识点链表2. 题目描述给你一个链表,每 k 个节点一组进行翻转,请你返回翻转后的链表。k 是一个正整数,它的值小于或等于链表的长度。如果节点总数不是 k 的整数倍,那么请将最后剩余的节点保持原有顺序。进阶:你可以设计一个只使用常数额外空间的算法来解决此问题吗?你不能只是单纯的改变节点内部的值,而是需要实际进行节点交换。输入:head = [1,2,3,4,5], k = 2输出:[2,1,4,3,5]输入:head = [1,2,3,4,5], k = 3输出:[3

2021-04-27 16:04:49 593

原创 算法题——设计LRU缓存结构

1. 本题知识点LRU2. 题目描述设计 LRU 缓存结构,该结构在构造时确定大小,假设大小为 K,并有如下两个功能set(key, value):将记录 (key, value) 插入该结构get(key):返回 key 对应的 value 值[要求]set 和 get 方法的时间复杂度为 O(1)某个 key 的 set 或 get 操作一旦发生,认为这个 key 的记录成了最常使用的。当缓存的大小超过 K 时,移除最不经常使用的记录,即 set 或 get 最久远的。若 o

2021-04-27 11:35:48 158

原创 算法题——最长回文子串

1. 本题知识点动态规划2. 题目描述给你一个字符串 s,找到 s 中最长的回文子串。输入:s = "cbbd"输出:"bb"3. 解题思路首先找子串,设置左右边界,移动边界找子串判断子串是否回文,使用 boolean 类型的二维数组记录是否回文a...ai jdp[i,j] = s[i]==s[j] && s[i+1]==s[j-1]4. 代码public class Solution { public String longe

2021-04-25 23:44:55 86

原创 算法题——接雨水

1. 本题知识点双指针2. 题目描述给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6 个单位的雨水(蓝色部分表示雨水)。示例 1:输入:[0,1,0,2,1,0,1,3,2,1,2,1]输出:63. 解题思路找出最高点,分别从两边往最高点遍历:如果下一个数比当前数小,说明可以接到水4. 代码public class Sol

2021-04-25 21:22:32 215

原创 算法题——最近公共祖先

1. 本题知识点深度优先遍历2. 题目描述给定一棵二叉树以及这棵树上的两个节点 o1 和 o2,请找到 o1 和 o2 的最近公共祖先节点。3. 解题思路最近公共祖先和 o1,o2 有三种关系:o1,o2 分别在祖先左右两侧祖先是 o1,o2 在祖先左/右侧祖先是 o2,o1 在祖先左/右侧使用 dfs 深度遍历,如果节点为 o1,o2 中其中一个直接返回,如果节点超过叶子节点也返回4. 代码public class Solution { /** *

2021-04-24 15:55:11 284

原创 算法题——求平方根

1. 本题知识点数学2. 题目描述实现函数 int sqrt(int x).计算并返回x的平方根(向下取整)3. 解题思路如果一个数 i,i * i 小于 n,(i + 1) * (i + 1)大于 n,那么这个数就是 n 的平方根。4. 代码public class Solution { /** * * @param x int整型 * @return int整型 */ public int sqrt (int x) {

2021-04-24 12:15:41 415

原创 算法题——买股票的最佳时机

1. 本题知识点贪心算法2. 题目描述假设你有一个数组,其中第 i 个元素是股票在第 i 天的价格。你有一次买入和卖出的机会。(只有买入了股票以后才能卖出)。请你设计一个算法来计算可以获得的最大收益。3. 解题思路遍历数组,维护两个变量,一个是最小买入价格,一个是最大利润。4. 代码public class Solution { /** * * @param prices int整型一维数组 * @return int整型 */ p

2021-04-24 10:58:00 252

原创 《剑指 Offer》——64、滑动窗口最大值

1. 本题知识点堆2. 题目描述给定一个数组和滑动窗口的大小,找出所有滑动窗口里数值的最大值。例如,如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小3,那么一共存在6个滑动窗口,他们的最大值分别为{4,4,6,6,6,5}; 针对数组{2,3,4,2,6,2,5,1}的滑动窗口有以下6个: {[2,3,4],2,6,2,5,1}, {2,[3,4,2],6,2,5,1}, {2,3,[4,2,6],2,5,1}, {2,3,4,[2,6,2],5,1}, {2,3,4,2,[6,2,5]

2021-04-24 10:27:13 81

原创 算法题——有效的括号

1. 本题知识点字符串2. 题目描述给出一个仅包含字符’(’,’)’,’{’,’}’,’[‘和’]’,的字符串,判断给出的字符串是否是合法的括号序列括号必须以正确的顺序关闭,"()“和”()[]{}“都是合法的括号序列,但”(]“和”([)]"不合法。3. 解题思路‘()’,’[]’,’{}’ 替换为 ‘’,最后字符串为空就 true4. 代码public class Solution { /** * * @param s string字符串 * @

2021-04-24 03:10:43 185

原创 算法题——合并两个有序的数组

1. 本题知识点双指针2. 题目描述给出两个有序的整数数组 A 和 B,请将数组 A 合并到数组 B 中,变成一个有序的数组注意:可以假设 A 数组有足够的空间存放 B 数组的元素,A 和 B 中初始的元素数目分别为 m 和 n3. 解题思路从后往前看,在每一个位置上选择 A 和 B 中较小的那一个。4. 代码public class Solution { public void merge(int A[], int m, int B[], int n) { for

2021-04-24 02:39:43 344

原创 算法题——两数之和

1. 本题知识点哈希表2. 题目描述给出一个整数数组,请在数组中找出两个加起来等于目标值的数,你给出的函数 twoSum 需要返回这两个数字的下标(index1,index2),需要满足 index1 小于 index2.。注意:下标是从 1 开始的。假设给出的数组中只存在唯一解例如:给出的数组为 {20, 70, 110, 150},目标值为90输出 index1=1, index2=23. 解题思路遍历数组,用哈希表存储数组的数据和它的下标在遍历数组的过程中,判断是否存在两个

2021-04-24 01:45:25 191

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除