数据结构算法
张诺然
一只有梦想的咸鱼
展开
-
【算法之路】Leecode No.9 回文数【简单】
出处 回文数 描述 判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 示例 输入: 121 输出: true 输入: -121 输出: false 解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。 输入: 10 输出: false 解释: 从右向左读, 为 01 。因此它不是一个回文数。 分析 首先理解回文数的定义。说白了就是倒过来跟原数一样就是回文数。 那么自然我们就可以想象到把这个数直接倒过来判断是否和原数一原创 2020-12-08 19:28:01 · 284 阅读 · 0 评论 -
【算法之路】Leecode No.329 矩阵中的最长递增路径【困难】
出处 矩阵中的最长递增路径 描述 给定一个整数矩阵,找出最长递增路径的长度。 对于每个单元格,你可以往上,下,左,右四个方向移动。 你不能在对角线方向上移动或移动到边界外(即不允许环绕)。 示例 输入: nums = [ [9,9,4], [6,6,8], [2,1,1]] 输出: 4 解释: 最长递增路径为 [1, 2, 6, 9]。 输入: nums = [ [3,4,5], [3,2,6], [2,2,1]] 输出: 4 解释: 最长递增路径是 [3, 4, 5, 6]。注意不允许在对角线方向上原创 2020-10-27 19:56:04 · 220 阅读 · 0 评论 -
【算法之路】Leecode No.2 两数相加【中等】
出处 两数相加 描述 给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。 如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。 您可以假设除了数字 0 之外,这两个数都不会以 0 开头。 示例 输入:(2 -> 4 -> 3) + (5 -> 6 -> 4) 输出:7 -> 0 -> 8 原因:342 + 465 = 807 分析 从示例我们可以看到,这个跟我们小时候学的原创 2020-10-21 19:25:53 · 170 阅读 · 0 评论 -
【算法之路】Leecode题解汇总(java)
背景 算法对程序员有多重要还用说嘛,现在诸多大厂面试都硬指标考核算法,虽然平时用的不多,但是用的不多不代表它没用,只能说我们目前还没上升到追求算法极限的境界。 近期喜迎1024程序员节,公司举办了算法大赛,没错,我厚颜无耻的报名了,虽然是一个算法小歘歘,但是万一运气好,出的题都会呢。所以最近的kotlin学习也停止了,没事开始刷题,为了以后得方便,本次刷题就直接记录下来。以后不定期更新。 声明: 本文中的解法有一些是根据大神讲解自己理解之后敲的,也有一些是自己想到的(这种一般人都能想到),如有雷同,绝壁是误原创 2020-10-21 14:59:07 · 1158 阅读 · 0 评论 -
【算法之路】Leecode No.1 两数之和
出处 Leecode No.1 描述 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。 示例 给定 nums = [2, 7, 11, 15], target = 9 因为 nums[0] + nums[1] = 2 + 7 = 9 所以返回 [0, 1] 分析 暴力解法 这道题不难,大多数人都可以直接想到最简单的暴力解法。 依次取出数组中的每个元素,原创 2020-10-21 14:57:36 · 300 阅读 · 0 评论 -
【算法与数据结构】数据结构之线性表
线性表 初步了解 线性表或称为有序表(Ordered Likst) 本质:线性表 就是n个元素的有限序列(n≥0) 如:最简单的有序表就是字母表:A,B,C,D,…,Z就是 一个线性表。 线性表定义 线性表数据元素可以是任何一种类型 对于同一线性表的每一个元素都必须属于同一类型 线性表可以 形容为: 可以是空集合,或者可写成 (a₁## 线性表 初步了解 线性表或称为有序表(Ordered Likst)- 本质:线性表 就是n个元素的有限序列(n≥0)> 如:最简单的有序表就是字母原创 2020-09-25 10:52:45 · 198 阅读 · 0 评论