Leetcode
VegeTass
此人不懒,什么都没有写
展开
-
Leetcode--大数加法与乘法
大数加法与乘法大数加法:分析:代码:大数乘法:分析:代码:大数加法:以字符串的形式读入两个数字,编写一个函数计算它们的和,以字符串形式返回。(字符串长度不大于100000,保证字符串仅由’0’~'9’这10种字符组成)示例1输入“1”,“99”返回值“100”说明1+99=100分析:字符串之间的相加一定要考虑大数问题,例如s1 = “9999999999999” ,s2 = “999999999999999999”,如果直接把两个字符串转为整型相加,就会出现整型溢出的问题,所以原创 2020-10-28 16:47:43 · 822 阅读 · 0 评论 -
Leetcode--计算日期到该年的天数转换
计算日期到该年的天数转换题目描述:分析:代码:注意事项:题目描述:输入某年某月某日,判断这一天是这一年的第几天?。测试用例有多组,注意循环输入输入描述:输入多行,每行间隔分割,分别是年,月,日输出描述:成功:返回outDay输出计算后的第几天;失败:返回-1示例:输入2012 12 31输出366分析:这个题要计算xx年yy月kk日这一天是xx年的第多少天,所以一定要考虑闰年的情况,而由于每个月的天数是不一样的,我们在计算的时候为了方便,可以用一个数组来保存每个月的天数代码:原创 2020-10-28 10:25:27 · 416 阅读 · 0 评论 -
Leetcode--字符串相加与字符串相减
字符串相加与字符串相减题目描述1:分析1:代码1:题目描述2:分析2:代码2:注意事项:题目描述1:给定两个字符串形式的非负整数 num1 和num2 ,计算它们的和。示例:输入string s1 = “12” string s2 = “28”输出string s3 = “40”分析1:这个题最容易想到的做法就是将字符串直接转换成数字进行相加,然后将相加和转为字符串返回,但是两个字符串直接转为数字是很容易溢出的,所以这个简单的方法不可行,我们要在字符串的基础上一位一位的进行相加,需要注意的原创 2020-08-14 16:04:54 · 1815 阅读 · 2 评论 -
Leetcode--被围绕的区域
被围绕的区域题目描述:分析1:代码1:问题:分析2:代码2:注意事项:题目描述:给定一个二维的矩阵,包含 ‘X’ 和 ‘O’(字母 O)。找到所有被 ‘X’ 围绕的区域,并将这些区域里所有的 ‘O’ 用 ‘X’ 填充。示例:X X X XX O O XX X O XX O X X运行你的函数后,矩阵变为:X X X XX X X XX X X XX O X X解释:被围绕的区间不会存在于边界上,换句话说,任何边界上的 ‘O’ 都不会被填充为 ‘X’。 任何不在边界上,或不与边界原创 2020-08-11 22:42:02 · 226 阅读 · 0 评论 -
Leetcode--复杂链表的复制
复杂链表的复制题目描述:分析1:代码1:分析2:代码2:注意事项:题目描述:请实现 copyRandomList 函数,复制一个复杂链表。在复杂链表中,每个节点除了有一个 next 指针指向下一个节点,还有一个 random 指针指向链表中的任意节点或者 null。分析1:我们可以依次遍历这个链表,用一个哈希结构<Node*,Node*>来存储每个节点与新构建的节点的关系,这样一来,新节点的的指针域就可以从键域的指针域来获得。如:1->2->3, 哈希结构为(1,1)原创 2020-08-11 22:22:00 · 326 阅读 · 0 评论 -
Leetcode--打劫家舍
打劫家舍题目描述:分析:代码:题目描述:分析:代码:原创 2020-08-06 21:27:06 · 175 阅读 · 0 评论 -
Leetcode--不同的二叉搜索树
不同的二叉搜索树题目描述:二级目录三级目录题目描述:二级目录三级目录原创 2020-07-22 18:13:54 · 304 阅读 · 0 评论 -
Leetcode--最长回文子串
最长回文子串题目描述:二级目录三级目录题目描述:给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。最长回文子串:正反遍历结果相同的子串。示例 1:输入: “babad”输出: “bab”注意: “aba” 也是一个有效答案。示例 2:输入: “cbbd”输出: “bb”二级目录三级目录...原创 2020-07-22 17:58:39 · 166 阅读 · 0 评论 -
Leetcode--地下城游戏
地下城游戏题目描述:分析1:代码1:分析2:代码2:注意事项:题目描述:一些恶魔抓住了公主(P)并将她关在了地下城的右下角。地下城是由 M x N 个房间组成的二维网格。我们英勇的骑士(K)最初被安置在左上角的房间里,他必须穿过地下城并通过对抗恶魔来拯救公主。骑士的初始健康点数为一个正整数。如果他的健康点数在某一时刻降至 0 或以下,他会立即死亡。有些房间由恶魔守卫,因此骑士在进入这些房间时会失去健康点数(若房间里的值为负整数,则表示骑士将损失健康点数);其他房间要么是空的(房间里的值为 0),要么原创 2020-07-12 23:17:32 · 342 阅读 · 0 评论 -
Leetcode--最佳股票买卖时机
题目描述:原创 2020-07-10 22:26:23 · 803 阅读 · 0 评论 -
Leetcode--用两个栈实现一个队列
题目描述:用两个栈来实现一个队列,此队列需要完成appendTail尾插与deleteHead头删,并返回所删除的元素,若队列中没有元素可删除,返回-1分析:实现一个队列说白了就是让我们实现元素的先进先出功能,怎么让先进去的数实现先出功能就是这个问题的关键所在。两个栈s1,s2,s1用来作为插入,s2用来作为删除,插入时很简单,直接向s1中push()元素,删除时,我们直接在s2中top()、pop(),如果s2中没有元素存在,我们就把s1中的所有元素push到s2中,如果s1中也没有元素就说明没有原创 2020-07-02 22:32:59 · 1469 阅读 · 0 评论 -
Leetcode--最长重复子数组
题目描述:给两个整数数组 A 和 B ,返回两个数组中公共的、长度最长的子数组的长度。示例:输入:A: [1,2,3,2,1]B: [3,2,1,4,7]输出:3解释:长度最长的公共子数组是 [3, 2, 1] 。不成文的小规则:牢记子序列默认不连续,子数组默认是连续的!!!解法1动态规划:分析:当我们遇到最值问题,无脑动态规划就完了,而动态规划最重要的一点就是要想好遍历方向和dp保存的信息是什么即可运用动态规划的DP二维数组dp[i][j]表示以A[i-1]与B[j-1]结尾的公原创 2020-07-02 22:15:02 · 648 阅读 · 0 评论 -
Leetcode--无重复字符的最长子串
题目描述:给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: “abcabcbb”输出: 3解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。示例 2:输入: “bbbbb”输出: 1解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。示例 3:输入: “pwwkew”输出: 3解释: 因为无重复字符的最长子串是 “wke”,所以其长度为 3。请注意,你的答案必须是 子串 的长度,“pwke” 是一个子序列,不是子串。不成原创 2020-07-08 22:55:04 · 346 阅读 · 0 评论 -
Leetcode--不同路径
题目描述:一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start”)。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。现在考虑网格中有障碍物。那么从左上角到右下角将会有多少条不同的路径?网格中的障碍物和空位置分别用 1 和 0 来表示。说明:m 和 n 的值均不超过 100。示例 :输入:[[0,0,0],[0,1,0],[0,0,0]]输出: 2解释:3x3 网格的正中间有一个障碍物。从左上角到右下原创 2020-07-06 15:33:59 · 320 阅读 · 0 评论 -
Leetcode--两个字符串的通配符匹配
题目描述:给定一个字符串 (s) 和一个字符模式 § ,实现一个支持 ‘?’ 和 ‘’ 的通配符匹配。‘?’ 可以匹配任何单个字符。'’ 可以匹配任意字符串(包括空字符串)。说明:s 可能为空,且只包含从 a-z 的小写字母。p 可能为空,且只包含从 a-z 的小写字母,以及字符 ? 和 *。...原创 2020-07-06 00:22:44 · 901 阅读 · 0 评论 -
Leetcode--恢复空格
题目描述:哦,不!你不小心把一个长篇文章中的空格、标点都删掉了,并且大写也弄成了小写。像句子"I reset the computer. It still didn’t boot!“已经变成了"iresetthecomputeritstilldidntboot”。在处理标点符号和大小写之前,你得先把它断成词语。当然了,你有一本厚厚的词典dictionary,不过,有些词没在词典里。假设文章用sentence表示,设计一个算法,把文章断开,要求未识别的字符最少,返回未识别的字符数。示例:输入:dict原创 2020-07-09 21:33:34 · 326 阅读 · 0 评论