随笔分类 -  数据结构与算法

程序员必修课,找工作必备
摘要:回溯法的经典题目,不解释了 public class Solution { /** * @see <a href="https://leetcode-cn.com/problems/ju-zhen-zhong-de-lu-jing-lcof/">剑指 Offer 12. 矩阵中的路径</a> * * 阅读全文
posted @ 2021-01-27 18:29 HiroSyu 阅读(80) 评论(0) 推荐(0)
摘要:散列表漫谈 散列表的英文叫做Hash Table,平时我们也称之为哈希表,其基本思想是通过某个函数将数据映射到数组中的某个位置,再通过数组可以通过下标随机访问特性快速查找元素的。 通过这样的定义我们可以分析出,散列表的关键在于两个因素 HASH函数 数组 作为最著名的散列表实现,我们来看一下Java 阅读全文
posted @ 2020-09-14 22:08 HiroSyu 阅读(245) 评论(0) 推荐(1)
摘要:反转链表 206. 反转链表 剑指 Offer 24. 反转链表 反转一个单链表。 示例: 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL 进阶: 你可以迭代或递归地反转链表。你能否用两种方法解决这道题? 来源:力扣(LeetCode) 链接:http 阅读全文
posted @ 2020-09-04 09:30 HiroSyu 阅读(280) 评论(0) 推荐(0)
摘要:两数相加 2. 两数相加 给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。 如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。 您可以假设除了数字 0 之外,这两个数都不会以 0 开头。 示例: 输 阅读全文
posted @ 2020-09-02 15:46 HiroSyu 阅读(188) 评论(0) 推荐(0)
摘要:让我们一起来玩扫雷游戏! 给定一个代表游戏板的二维字符矩阵。 'M' 代表一个未挖出的地雷,'E' 代表一个未挖出的空方块,'B' 代表没有相邻(上,下,左,右,和所有4个对角线)地雷的已挖出的空白方块,数字('1' 到 '8')表示有多少地雷与这块已挖出的方块相邻,'X' 则表示一个已挖出的地雷。 阅读全文
posted @ 2020-08-20 14:39 HiroSyu 阅读(253) 评论(0) 推荐(0)
摘要:概述 树是一种经常用到的数据结构,用来模拟具有树状结构性质的数据集合。树的每一个节点有一个值和一个包含所有子节点的列表,二叉树是一种更为典型的树状结构,每个节点最多有两个子树的树结构,称作左子树和右子树。 树的遍历 前序遍历 前序遍历首先访问根节点,然后遍历左子树,最后遍历右子树。 F / \ / 阅读全文
posted @ 2020-08-20 11:10 HiroSyu 阅读(145) 评论(0) 推荐(0)
摘要:实现 pow(x, n) ,即计算 x 的 n 次幂函数。 示例 1: 输入: 2.00000, 10 输出: 1024.00000 示例 2: 输入: 2.10000, 3 输出: 9.26100 示例 3: 输入: 2.00000, -2 输出: 0.25000 解释: 2-2 = 1/22 = 阅读全文
posted @ 2020-08-18 14:48 HiroSyu 阅读(69) 评论(0) 推荐(0)
摘要:balanced-binary-tree 阅读全文
posted @ 2020-08-17 23:36 HiroSyu 阅读(88) 评论(0) 推荐(0)