算法
练习java的算法能力
beordie.cloud
傻傻呆呆,没有脑袋
展开
-
剑指 Offer II 113. 课程顺序
请根据给出的总课程数 numCourses 和表示先修顺序的 prerequisites 得出一个可行的修课序列。原创 2022-03-25 21:09:21 · 671 阅读 · 1 评论 -
剑指 Offer II 119. 最长连续序列
给定一个未排序的整数数组 nums ,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度。原创 2022-03-25 15:04:15 · 1042 阅读 · 0 评论 -
剑指 Offer II 107. 矩阵中的距离
给定一个由 0 和 1 组成的矩阵 mat ,请输出一个大小相同的矩阵,其中每一个格子是 mat 中对应位置元素到最近的 0 的距离。两个相邻元素间的距离为 1 。原创 2022-03-25 11:07:24 · 319 阅读 · 0 评论 -
剑指 Offer II 104. 排列的数目
给定一个由 不同 正整数组成的数组 nums ,和一个目标整数 target 。请从 nums 中找出并返回总和为 target 的元素组合的个数。原创 2022-03-24 21:02:06 · 509 阅读 · 0 评论 -
剑指 Offer II 110. 所有路径
给定一个有 n 个节点的有向无环图,用二维数组 graph 表示,请找到所有从 0 到 n-1 的路径并输出(不要求按顺序)。原创 2022-03-24 11:44:32 · 466 阅读 · 1 评论 -
120. 三角形最小路径和
给定一个三角形 triangle ,找出自顶向下的最小路径和。原创 2022-03-24 10:04:27 · 386 阅读 · 0 评论 -
剑指 Offer II 098. 路径的数目
一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。原创 2022-03-23 21:24:48 · 460 阅读 · 0 评论 -
剑指 Offer II 096. 字符串交织
给定三个字符串 s1、s2、s3,请判断 s3 能不能由 s1 和 s2 交织(交错) 组成。原创 2022-03-23 19:10:29 · 509 阅读 · 0 评论 -
剑指 Offer II 091. 粉刷房子
假如有一排房子,共 n 个,每个房子可以被粉刷成红色、蓝色或者绿色这三种颜色中的一种,你需要粉刷所有的房子并且使其相邻的两个房子颜色不能相同。原创 2022-03-20 15:20:19 · 327 阅读 · 0 评论 -
剑指 Offer II 065. 最短的单词编码
给定一个单词数组 words ,返回成功对 words 进行编码的最小助记字符串 s 的长度 。原创 2022-03-09 21:20:38 · 322 阅读 · 0 评论 -
剑指 Offer II 064. 神奇的字典
设计一个使用单词列表进行初始化的数据结构,单词列表中的单词 互不相同 。 如果给出一个单词,请判定能否只将这个单词中一个字母换成另一个字母,使得所形成的新单词存在于已构建的神奇字典中。原创 2022-03-09 20:46:28 · 346 阅读 · 0 评论 -
剑指 Offer II 063. 替换单词
在英语中,有一个叫做词根(root) 的概念,它可以跟着其他一些词组成另一个较长的单词——我们称这个词为继承词(successor)。例如,词根an,跟随着单词other(其他),可以形成新的单词another(另一个)。原创 2022-03-09 18:49:10 · 295 阅读 · 0 评论 -
剑指 Offer II 020. 回文子字符串的个数
给定一个字符串 s ,请计算这个字符串中有多少个回文子字符串。原创 2022-02-19 14:19:01 · 362 阅读 · 0 评论 -
剑指 Offer II 086. 分割回文子字符串
给定一个字符串 s ,请将 s 分割成一些子串,使每个子串都是 回文串 ,返回 s 所有可能的分割方案。原创 2022-02-14 15:27:20 · 302 阅读 · 0 评论 -
523. 连续的子数组和
给你一个整数数组 nums 和一个整数 k ,编写一个函数来判断该数组是否含有同时满足下述条件的连续子数组:子数组大小 至少为 2 ,且子数组元素总和为 k 的倍数。原创 2022-01-22 15:04:37 · 466 阅读 · 0 评论 -
322. 零钱兑换
给你一个整数数组 coins ,表示不同面额的硬币;以及一个整数 amount ,表示总金额。原创 2022-01-22 14:57:17 · 441 阅读 · 0 评论 -
Java学习---Redis基础操作
`Redis` 是一种基于内存管理的数据库,并且提供一定的持久化功能,它是一种键值(**key - -value**)类型的非关系型数据库,和 `hash` 的索引方式一样,使用键作为作为索引就可以找到当前进行缓存的数据,并且将数据返回给程序的调用者。原创 2022-01-22 10:31:04 · 1539 阅读 · 0 评论 -
杨辉三角的解法
杨辉三角的解题方法题目:给定一个非负索引 rowIndex,返回「杨辉三角」的第 rowIndex 行。在「杨辉三角」中,每个数是它左上方和右上方的数的和。解法一 按照杨辉三角的定义,将每一层的数据都进行计算保存,然后返回最后一层的数据据即可,需要第 N 层就需要一个 N 维的二维数组。其中 第零层 和 第一层 是比较特殊的,需要进行单独的定义,其余层按照规则进行生成。class Solution { public List<Integer> getRow(int rowIn原创 2022-01-21 17:24:54 · 1306 阅读 · 0 评论 -
300. 最长递增子序列
算法记录LeetCode 题目: 给你一个整数数组 nums ,找到其中最长严格递增子序列的长度。思路算法记录说明一、题目二、分析总结说明一、题目 子序列是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,[3,6,2,7] 是数组 [0,3,1,6,2,2,7] 的子序列。二、分析需要注意的一点是题目中子序列定义的概念,只要满足位置上的前后顺序就可以认为是一个子序列,而不一定需要是严格的连续子序列;用两个循环来进行数组的遍历,外循环用于原创 2022-01-21 17:22:09 · 754 阅读 · 0 评论 -
剑指 Offer II 013. 二维子矩阵的和
给定一个二维矩阵 matrix,以下类型的多个请求:计算其子矩形范围内元素的总和,该子矩阵的左上角为 (row1, col1) ,右下角为 (row2, col2) 。原创 2022-01-12 09:06:37 · 207 阅读 · 0 评论 -
面试题 04.09. 二叉搜索树序列
从左向右遍历一个数组,通过不断将其中的元素插入树中可以逐步地生成一棵二叉搜索树。原创 2021-12-07 20:21:55 · 333 阅读 · 0 评论 -
450. 删除二叉搜索树中的节点
给定一个二叉搜索树的根节点 root 和一个值 key,删除二叉搜索树中的 key 对应的节点,并保证二叉搜索树的性质不变。返回二叉搜索树(有可能被更新)的根节点的引用。原创 2021-12-06 17:24:29 · 367 阅读 · 0 评论 -
面试题 01.07. 旋转矩阵
给你一幅由 N × N 矩阵表示的图像,其中每个像素的大小为 4 字节。请你设计一种算法,将图像旋转 90 度。原创 2021-12-05 17:42:40 · 548 阅读 · 0 评论 -
面试题 05.01. 插入
给定两个整型数字 N 与 M,以及表示比特位置的 i 与 j(i <= j,且从 0 位开始计算)。原创 2021-12-04 11:57:07 · 293 阅读 · 1 评论 -
67. 二进制求和
给你两个二进制字符串,返回它们的和(用二进制表示)。原创 2021-11-27 19:04:36 · 251 阅读 · 0 评论 -
108. 将有序数组转换为二叉搜索树
给你一个整数数组 nums ,其中元素已经按 升序 排列,请你将其转换为一棵 高度平衡 二叉搜索树。原创 2021-11-27 18:00:11 · 247 阅读 · 0 评论 -
119. 杨辉三角 II
给定一个非负索引 rowIndex,返回「杨辉三角」的第 rowIndex 行。原创 2021-11-27 17:36:55 · 292 阅读 · 0 评论 -
16. 最接近的三数之和
给你一个长度为 n 的整数数组 nums 和 一个目标值 target。请你从 nums 中选出三个整数,使它们的和与 target 最接近。原创 2021-11-25 20:42:18 · 242 阅读 · 0 评论 -
1081. 不同字符的最小子序列
返回 s 字典序最小的子序列,该子序列包含 s 的所有不同字符,且只包含一次。原创 2021-11-24 19:52:04 · 517 阅读 · 0 评论 -
402. 移掉 K 位数字
给你一个以字符串表示的非负整数 num 和一个整数 k ,移除这个数中的 k 位数字,使得剩下的数字最小。请你以字符串形式返回这个最小的数字。原创 2021-11-24 19:22:15 · 288 阅读 · 0 评论 -
380. O(1) 时间插入、删除和获取随机元素
实现RandomizedSet 类原创 2021-11-23 20:50:41 · 218 阅读 · 0 评论 -
剑指 Offer 67. 把字符串转换成整数
写一个函数 StrToInt,实现把字符串转换成整数这个功能。不能使用 atoi 或者其他类似的库函数。原创 2021-11-23 09:57:12 · 300 阅读 · 0 评论 -
395. 至少有 K 个重复字符的最长子串
给你一个字符串 s 和一个整数 k ,请你找出 s 中的最长子串, 要求该子串中的每一字符出现次数都不少于 k 。返回这一子串的长度。原创 2021-11-23 07:43:32 · 342 阅读 · 0 评论 -
剑指 Offer II 054. 所有大于等于节点的值之和
给定一个二叉搜索树,请将它的每个节点的值替换成树中大于或者等于该节点值的所有节点值之和。原创 2021-11-21 16:51:27 · 290 阅读 · 0 评论 -
437. 路径总和 III
给定一个二叉树的根节点 root ,和一个整数 targetSum ,求该二叉树里节点值之和等于 targetSum 的 路径 的数目。原创 2021-11-21 16:34:52 · 288 阅读 · 0 评论 -
863. 二叉树中所有距离为 K 的结点
在 "100 game" 这个游戏中,两名玩家轮流选择从 1 到 10 的任意整数,累计整数和,先使得累计整数和达到或超过 100 的玩家,即为胜者。原创 2021-11-20 19:24:19 · 428 阅读 · 0 评论 -
剑指 Offer 36. 二叉搜索树与双向链表
输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的循环双向链表。原创 2021-11-18 20:43:11 · 452 阅读 · 0 评论 -
958. 二叉树的完全性检验
给定一个二叉树,确定它是否是一个完全二叉树。原创 2021-11-18 19:00:59 · 196 阅读 · 0 评论 -
1367. 二叉树中的列表
给你一棵以 root 为根的二叉树和一个 head 为第一个节点的链表。如果在二叉树中,存在一条一直向下的路径,且每个点的数值恰好一一对应以 head 为首的链表中每个节点的值,那么请你返回 True ,否则返回 False 。原创 2021-11-18 15:30:04 · 320 阅读 · 1 评论 -
287. 寻找重复数
给定一个包含 n + 1 个整数的数组 nums ,其数字都在 1 到 n 之间(包括 1 和 n),可知至少存在一个重复的整数。原创 2021-11-17 17:41:19 · 479 阅读 · 0 评论