leetcode
爱吃血肠
本人是个小小程序员,此博客一是为了激励自己学习,二是记录自己的学习历程,以方便及时回顾相关知识。
展开
-
415. 字符串相加
415. 字符串相加给定两个字符串形式的非负整数 num1 和num2 ,计算它们的和。提示:num1 和num2 的长度都小于 5100num1 和num2 都只包含数字 0-9num1 和num2 都不包含任何前导零你不能使用任何內建 BigInteger 库, 也不能直接将输入的字符串转换为整数形式方法一:模拟思路与算法本题我们只需要对两个大整数模拟「竖式加法」的过程。竖式加法就是我们平常学习生活中常用的对两个整数相加的方法,回想一下我们在纸上对两个整数相加的操作,是不是如下图将原创 2020-08-03 20:03:40 · 6004 阅读 · 0 评论 -
114. 二叉树展开为链表
114. 二叉树展开为链表给定一个二叉树,原地将它展开为一个单链表。例如,给定二叉树 1 / \ 2 5 / \ \3 4 6将其展开为:1 \ 2 \ 3 \ 4 \ 5 \ 6方法一:前序遍历将二叉树展开为单链表之后,单链表中的节点顺序即为二叉树的前序遍历访问各节点的顺序。因此,可以对二叉树进行前序遍历,获得各节点被访问到的顺序。由于将二叉树原创 2020-08-02 12:06:47 · 5939 阅读 · 0 评论 -
632. 最小区间
632. 最小区间你有 k 个升序排列的整数数组。找到一个最小区间,使得 k 个列表中的每个列表至少有一个数包含在其中。我们定义如果 b-a < d-c 或者在 b-a == d-c 时 a < c,则区间 [a,b] 比 [c,d] 小。示例 1:输入:[[4,10,15,24,26], [0,9,12,20], [5,18,22,30]]输出: [20,24]解释: 列表 1:[4, 10, 15, 24, 26],24 在区间 [20,24] 中。列表 2:[0, 9, 1原创 2020-08-01 12:22:44 · 5933 阅读 · 0 评论 -
面试题 08.03. 魔术索引
面试题 08.03. 魔术索引魔术索引。 在数组A[0...n-1]中,有所谓的魔术索引,满足条件A[i] = i。给定一个有序整数数组,编写一种方法找出魔术索引,若有的话,在数组A中找出一个魔术索引,如果没有,则返回-1。若有多个魔术索引,返回索引值最小的一个。示例1: 输入:nums = [0, 2, 3, 4, 5] 输出:0 说明: 0下标的元素为0示例2: 输入:nums = [1, 1, 1] 输出:1说明:nums长度在[1, 1000000]之间此题为原书中的 F原创 2020-07-31 17:47:48 · 5935 阅读 · 0 评论 -
343. 整数拆分
343. 整数拆分给定一个正整数 n,将其拆分为至少两个正整数的和,并使这些整数的乘积最大化。 返回你可以获得的最大乘积。示例 1:输入: 2输出: 1解释: 2 = 1 + 1, 1 × 1 = 1。示例 2:输入: 10输出: 36解释: 10 = 3 + 3 + 4, 3 × 3 × 4 = 36。说明: 你可以假设 n 不小于 2 且不大于 58。方法一:动态规划class Solution { public int integerBreak(int n) {原创 2020-07-30 17:08:52 · 5920 阅读 · 0 评论 -
寻宝
LCP 13. 寻宝我们得到了一副藏宝图,藏宝图显示,在一个迷宫中存在着未被世人发现的宝藏。迷宫是一个二维矩阵,用一个字符串数组表示。它标识了唯一的入口(用 ‘S’ 表示),和唯一的宝藏地点(用 ‘T’ 表示)。但是,宝藏被一些隐蔽的机关保护了起来。在地图上有若干个机关点(用 ‘M’ 表示),只有所有机关均被触发,才可以拿到宝藏。要保持机关的触发,需要把一个重石放在上面。迷宫中有若干个石堆(用 ‘O’ 表示),每个石堆都有无限个足够触发机关的重石。但是由于石头太重,我们一次只能搬一个石头到指定地点..原创 2020-07-29 10:31:43 · 5965 阅读 · 0 评论 -
二叉树的最大深度
104. 二叉树的最大深度难度简单622收藏分享切换为英文关注反馈给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明: 叶子节点是指没有子节点的节点。示例:给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回它的最大深度 3 。/** \* Definition for a binary tree node. \* public class Tree原创 2020-07-28 13:40:14 · 6059 阅读 · 0 评论