Leetcode
文章平均质量分 57
为什么会这样1994
为什么bug 和 春天的柳絮一样多到数不清
展开
-
142.环形链表ⅡLeetcode
文章目录题目描述思路及解答题目描述给定一个链表,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。说明:不允许修改给定的链表。示例 1:输入:head = [3,2,0,-4], pos = 1输出:tail connects ...原创 2019-01-04 09:58:11 · 115 阅读 · 0 评论 -
350. 两个数组的交集ⅡLeetcode
文章目录题目描述思路及解答题目描述给定两个数组,编写一个函数来计算它们的交集。示例 1:输入: nums1 = [1,2,2,1], nums2 = [2,2]输出: [2,2]示例 2:输入: nums1 = [4,9,5], nums2 = [9,4,9,8,4]输出: [4,9]说明:输出结果中每个元素出现的次数,应与元素在两个数组中出现的次数一致。我们可以不考虑输出结...原创 2019-02-24 09:24:52 · 93 阅读 · 0 评论 -
242.有效的字母异位词Leetcode
文章目录题目描述思路及解答题目描述给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的一个字母异位词。示例 1:输入: s = “anagram”, t = “nagaram”输出: true示例 2:输入: s = “rat”, t = “car”输出: false说明:你可以假设字符串只包含小写字母。进阶:如果输入字符串包含 unicode 字符怎么办?...原创 2019-02-24 18:37:29 · 97 阅读 · 0 评论 -
202.快乐数Leetcode
文章目录题目描述思路及解答题目描述编写一个算法来判断一个数是不是“快乐数”。一个“快乐数”定义为:对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和,然后重复这个过程直到这个数变为 1,也可能是无限循环但始终变不到 1。如果可以变为 1,那么这个数就是快乐数。示例:输入: 19输出: true解释:12 + 92 = 8282 + 22 = 6862 + 82 = 1...原创 2019-02-21 10:40:59 · 265 阅读 · 0 评论 -
217. 存在的重复元素Leecode
文章目录题目描述思路及解答题目描述给定一个整数数组,判断是否存在重复元素。如果任何值在数组中出现至少两次,函数返回 true。如果数组中每个元素都不相同,则返回 false。示例 1:输入: [1,2,3,1]输出: true示例 2:输入: [1,2,3,4]输出: false示例 3:输入: [1,1,1,3,3,4,3,2,4,2]输出: true思路及解答/*...原创 2019-02-21 11:04:21 · 171 阅读 · 0 评论 -
205.同构字符串Leetcode
文章目录题目描述思路及解答题目描述给定两个字符串 s 和 t,判断它们是否是同构的。如果 s 中的字符可以被替换得到 t ,那么这两个字符串是同构的。所有出现的字符都必须用另一个字符替换,同时保留字符的顺序。两个字符不能映射到同一个字符上,但字符可以映射自己本身。示例 1:输入: s = “egg”, t = “add”输出: true示例 2:输入: s = “foo”, t ...原创 2019-02-26 22:17:49 · 93 阅读 · 0 评论 -
49. 字母异位词分组Leetcode
文章目录题目描述思路及解答题目描述给定一个字符串数组,将字母异位词组合在一起。字母异位词指字母相同,但排列不同的字符串。示例:输入: [“eat”, “tea”, “tan”, “ate”, “nat”, “bat”],输出:[[“ate”,“eat”,“tea”],[“nat”,“tan”],[“bat”]]思路及解答/*思路:创建合适的键值对使用map结构,将字母...原创 2019-03-08 22:42:40 · 93 阅读 · 0 评论 -
454. 四数相加ⅡLeetcode
文章目录题目描述思路及解答题目描述给定四个包含整数的数组列表 A , B , C , D ,计算有多少个元组 (i, j, k, l) ,使得 A[i] + B[j] + C[k] + D[l] = 0。为了使问题简单化,所有的 A, B, C, D 具有相同的长度 N,且 0 ≤ N ≤ 500 。所有整数的范围在 -228 到 228 - 1 之间,最终结果不会超过 231 - 1 。...原创 2019-03-03 21:47:49 · 132 阅读 · 0 评论 -
447. 回旋镖的数量
文章目录题目描述思路及解答题目描述给定平面上 n 对不同的点,“回旋镖” 是由点表示的元组 (i, j, k) ,其中 i 和 j 之间的距离和 i 和 k 之间的距离相等(需要考虑元组的顺序)。找到所有回旋镖的数量。你可以假设 n 最大为 500,所有点的坐标在闭区间 [-10000, 10000] 中。示例:输入:[[0,0],[1,0],[2,0]]输出:2解释:两个回旋...原创 2019-03-19 16:08:23 · 118 阅读 · 0 评论 -
451. 根据字符出现频率排序Leetcode
文章目录题目描述思路及解答题目描述给定一个字符串,请将字符串里的字符按照出现的频率降序排列。示例 1:输入:“tree”输出:“eert”解释:'e’出现两次,'r’和’t’都只出现一次。因此’e’必须出现在’r’和’t’之前。此外,"eetr"也是一个有效的答案。示例 2:输入:“cccaaa”输出:“cccaaa”解释:'c’和’a’都出现三次。此外,"aaa...原创 2019-02-27 17:18:57 · 243 阅读 · 0 评论 -
349.两个数组的交集
文章目录题目描述思路及解答题目描述给定两个数组,编写一个函数来计算它们的交集。示例 1:输入: nums1 = [1,2,2,1], nums2 = [2,2]输出: [2]示例 2:输入: nums1 = [4,9,5], nums2 = [9,4,9,8,4]输出: [9,4]说明:输出结果中的每个元素一定是唯一的。我们可以不考虑输出结果的顺序。思路及解答/** 思...原创 2019-01-16 22:17:07 · 206 阅读 · 0 评论 -
160.相交链表
文章目录题目描述思路及解答题目描述编写一个程序,找到两个单链表相交的起始节点。如下面的两个链表:在节点 c1 开始相交。示例 1:输入:intersectVal = 8, listA = [4,1,8,4,5], listB = [5,0,1,8,4,5], skipA = 2, skipB = 3输出:Reference of the node with value = 8输入解...原创 2019-01-04 16:17:19 · 87 阅读 · 0 评论 -
141.环形链表Leetcode
文章目录题目描述思路及解答题目描述给定一个链表,判断链表中是否有环。为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。示例 1:输入:head = [3,2,0,-4], pos = 1输出:true解释:链表中有一个环,其尾部连接到第二个节点。示例 2:输入:head = [1,2],...原创 2019-01-01 16:57:04 · 142 阅读 · 0 评论 -
707.设计链表Leetcode
文章目录题目描述思路及解答题目描述设计链表的实现。您可以选择使用单链表或双链表。单链表中的节点应该具有两个属性:val 和 next。val 是当前节点的值,next 是指向下一个节点的指针/引用。如果要使用双向链表,则还需要一个属性 prev 以指示链表中的上一个节点。假设链表中的所有节点都是 0-index 的。在链表类中实现这些功能:get(index):获取链表中第 index 个...原创 2019-01-01 17:01:49 · 210 阅读 · 0 评论 -
206.反转链表Leetcode
文章目录题目描述思路及解答题目描述反转一个单链表。示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL思路及解答反转链表思路/** * Definition for singly-linked list. * public class ListNode { * i...原创 2019-01-14 16:42:13 · 185 阅读 · 0 评论 -
206.删除链表元素
文章目录题目描述思路及解答题目描述删除链表中等于给定值 val 的所有节点。示例:输入: 1->2->6->3->4->5->6, val = 6输出: 1->2->3->4->5思路及解答/** * Definition for singly-linked list. * public class ListNode {...原创 2019-01-15 16:30:56 · 88 阅读 · 0 评论 -
328.奇偶链表
文章目录题目描述思路及解答题目描述给定一个单链表,把所有的奇数节点和偶数节点分别排在一起。请注意,这里的奇数节点和偶数节点指的是节点编号的奇偶性,而不是节点的值的奇偶性。请尝试使用原地算法完成。你的算法的空间复杂度应为 O(1),时间复杂度应为 O(nodes),nodes 为节点总数。示例 1:输入: 1->2->3->4->5->NULL输出: 1-&...原创 2019-01-15 16:35:23 · 83 阅读 · 0 评论 -
19.删除链表倒数第n个结点Leetcode
文章目录题目描述思路与解答题目描述给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。示例:给定一个链表: 1->2->3->4->5, 和 n = 2.当删除了倒数第二个节点后,链表变为 1->2->3->5.说明:给定的 n 保证是有效的。进阶:你能尝试使用一趟扫描原创 2019-01-10 09:48:01 · 199 阅读 · 0 评论 -
234.回文链表Leetcode
文章目录题目描述思路及解答题目描述判断一个链表是否为回文链表。示例 1:输入: 1->2输出: false示例 2:输入: 1->2->2->1输出: true思路及解答/** * Definition for singly-linked list. * public class ListNode { * int val; * L...原创 2019-01-16 17:09:46 · 111 阅读 · 0 评论 -
219.存在重复元素Ⅱ
文章目录题目描述思路及解答题目描述给定一个整数数组和一个整数 k,判断数组中是否存在两个不同的索引 i 和 j,使得 nums [i] = nums [j],并且 i 和 j 的差的绝对值最大为 k。示例 1:输入: nums = [1,2,3,1], k = 3输出: true示例 2:输入: nums = [1,0,1,1], k = 1输出: true示例 3:输入: n...原创 2019-03-26 23:17:09 · 128 阅读 · 0 评论 -
175.组合两个表Leetcode(SQL)
文章目录题目描述思路及解答题目描述表1: Person±------------±--------+| 列名 | 类型 |±------------±--------+| PersonId | int || FirstName | varchar || LastName | varchar |±------------±------...原创 2019-04-08 16:03:27 · 163 阅读 · 0 评论 -
8. 二叉树的下一个结点 剑指offer
文章目录题目描述思路及解答题目描述给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。思路及解答/*public class TreeLinkNode { int val; TreeLinkNode left = null; TreeLinkNode right = null; ...原创 2019-06-08 09:26:36 · 92 阅读 · 0 评论 -
方格走法
文章目录题目描述思路及解答题目描述有一个X*Y的网格,小团要在此网格上从左上角到右下角,只能走格点且只能向右或向下走。请设计一个算法,计算小团有多少种走法。给定两个正整数int x,int y,请返回小团的走法数目。思路及解答/*思路:这是一道典型的动态规划问题。使用二维数组保存之前的值。f(x,y) = f(x-1,y) + f(x,y-1);*/import java.uti...原创 2019-07-16 15:06:59 · 332 阅读 · 0 评论 -
236.二叉树的最近公共祖先
文章目录题目描述思路及解答题目描述给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。”例如,给定如下二叉树: root = [3,5,1,6,2,0,8,null,null,7,4]示例 1:...原创 2019-07-24 08:53:40 · 96 阅读 · 0 评论 -
分层打印二叉树
文章目录题目描述思路及解答题目描述分行从上往下打印二叉树思路及解答package subject32;import javax.swing.tree.TreeNode;import java.util.ArrayList;import java.util.LinkedList;import java.util.List;import java.util.Queue;/**...原创 2019-07-29 15:08:43 · 126 阅读 · 0 评论 -
Shopee的办公室(二)
题目描述shopee的办公室非常大,小虾同学的位置坐落在右上角,而大门却在左下角,可以把所有位置抽象为一个网格(门口的坐标为0,0),小虾同学很聪明,每次只向上,或者向右走,因为这样最容易接近目的地,但是小虾同学不想让自己的boss们看到自己经常在他们面前出没,或者迟到被发现。他决定研究一下如果他不通过boss们的位置,他可以有多少种走法?输入描述:第一行 x,y,n (0<x<...原创 2019-07-20 10:55:10 · 867 阅读 · 0 评论 -
91.解码方法 Leetcode
文章目录题目描述思路及解答题目描述‘A’ -> 1‘B’ -> 2…‘Z’ -> 26给定一个只包含数字的非空字符串,请计算解码方法的总数。示例 1:输入: “12”输出: 2解释: 它可以解码为 “AB”(1 2)或者 “L”(12)。示例 2:输入: “226”输出: 3解释: 它可以解码为 “BZ” (2 26), “VF” (22 6), 或者...原创 2019-07-31 11:34:45 · 266 阅读 · 0 评论 -
147. 对链表进行插入排序
文章目录题目描述思路及解答题目描述对链表进行插入排序。插入排序的动画演示如上。从第一个元素开始,该链表可以被认为已经部分排序(用黑色表示)。每次迭代时,从输入数据中移除一个元素(用红色表示),并原地将其插入到已排好序的链表中。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/insertion-sort-list著作权归领扣网络所有...原创 2019-07-23 09:45:40 · 83 阅读 · 0 评论 -
字符串压缩算法
题目描述输入一串字符,请编写一个字符串压缩程序,将字符串中连续出现的重复字母进行压缩,并输出压缩后的字符串。例如:aac 压缩为 1acxxxxyyyyyyzbbb 压缩为 3x5yz2b思路及解答package 小红书.字符串压缩算法;import java.util.Scanner;public class Main { public static void ma...原创 2019-08-16 10:04:28 · 996 阅读 · 0 评论 -
旋转数组的最小值
文章目录题目描述思路及解答题目描述把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个排好序的数组的一个旋转,输出旋转数组的最小元素。例如数组{3, 4, 5, 1, 2}为{1, 2, 3, 4, 5}的一个旋转,该数组的最小值为1。思路及解答import java.util.Scanner;import java.io.*; public class...原创 2019-08-18 10:36:56 · 162 阅读 · 0 评论 -
约瑟夫环
文章目录题目描述思路及解答题目描述圆圈中最后剩下的数字【孩子们的游戏】每年六一儿童节,牛客都会准备一些小礼物去看望孤儿院的小朋友,今年亦是如此。HF作为牛客的资深元老,自然也准备了一些小游戏。其中,有个游戏是这样的:首先,让小朋友们围成一个大圈。然后,他随机指定一个数m,让编号为0的小朋友开始报数。每次喊到m-1的那个小朋友要出列唱首歌,然后可以在礼品箱中任意的挑选礼物,并且不再回到圈...原创 2019-07-16 10:30:49 · 77 阅读 · 0 评论 -
旋转单词顺序
文章目录题目描述思路及解答题目描述牛客最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上。同事Cat对Fish写的内容颇感兴趣,有一天他向Fish借来翻看,但却读不懂它的意思。例如,“student. a am I”。后来才意识到,这家伙原来把句子单词的顺序翻转了,正确的句子应该是“I am a student.”。Cat对一一的翻转这些单词顺序可不在行,你能帮助他么...原创 2019-07-18 09:48:56 · 151 阅读 · 0 评论 -
32. 按之字形顺序打印二叉树 剑指offer
文章目录题目描述思路及解答题目描述请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推。思路及解答/*public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; ...原创 2019-06-10 09:29:13 · 101 阅读 · 0 评论 -
62.二叉搜索树的第k个结点 剑指offer
文章目录题目描述思路及解答题目描述给定一棵二叉搜索树,请找出其中的第k小的结点。例如, (5,3,7,2,4,6,8) 中,按结点数值大小顺序第三小结点的值为4。思路及解答解法一:/*public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; ...原创 2019-06-11 09:53:23 · 86 阅读 · 0 评论 -
41. 数据流中的中位数 剑指offer
文章目录题目描述思路及解答题目描述如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值。我们使用Insert()方法读取数据流,使用GetMedian()方法获取当前读取数据的中位数。思路及解答解答/*思路:我们注意到数据被分为两部分,位于左边的部分小于...原创 2019-06-16 20:49:03 · 139 阅读 · 0 评论 -
2_2不修改数组找出重复的数字
文章目录题目描述思路及解答题目描述在一个长度为n+1的数组里的所有数字都在1到n的范围内,所以数组中至少有一个数字是重复的。请找出数组中任意一个重复的数字,但不能修改输入的数组。例如,如果输入长度为8的数组{2, 3, 5, 4, 3, 2, 6, 7},那么对应的输出是重复的数字2或者3。思路及解答package offer.title3;/** 思路一:* 数组长度为n+1,数字...原创 2019-06-23 11:11:06 · 110 阅读 · 0 评论 -
198.打家劫舍
文章目录题目描述思路及解答题目描述你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你在不触动警报装置的情况下,能够偷窃到的最高金额。示例 1:输入: [1,2,3,1]输出: 4解释: 偷窃 1 号房屋...原创 2019-07-08 15:51:12 · 89 阅读 · 0 评论 -
扭蛋机(bilibili)
文章目录扭蛋机题目描述思路及解答扭蛋机题目描述22娘和33娘接到了小电视君的扭蛋任务:一共有两台扭蛋机,编号分别为扭蛋机2号和扭蛋机3号,22娘使用扭蛋机2号,33娘使用扭蛋机3号。扭蛋机都不需要投币,但有一项特殊能力:扭蛋机2号:如果塞x(x范围为>=0正整数)个扭蛋进去,然后就可以扭到2x+1个扭蛋机3号:如果塞x(x范围为>=0正整数)个扭蛋进去,然后就可以扭到2x...原创 2019-07-04 15:31:38 · 885 阅读 · 0 评论 -
左旋字符串
文章目录题目描述思路及解答题目描述汇编语言中有一种移位指令叫做循环左移(ROL),现在有个简单的任务,就是用字符串模拟这个指令的运算结果。对于一个给定的字符序列S,请你把其循环左移K位后的序列输出。例如,字符序列S=”abcXYZdef”,要求输出循环左移3位后的结果,即“XYZdefabc”。是不是很简单?OK,搞定它!思路及解答/*思路:1.abcdefg 我们可以把它分为两个部分...原创 2019-07-18 09:46:44 · 72 阅读 · 0 评论 -
最后一位【二分法的运用】
文章目录题目描述思路及解答题目描述牛牛选择了一个正整数X,然后把它写在黑板上。然后每一天他会擦掉当前数字的最后一位,直到他擦掉所有数位。 在整个过程中,牛牛会把所有在黑板上出现过的数字记录下来,然后求出他们的总和sum.例如X = 509, 在黑板上出现过的数字依次是509, 50, 5, 他们的和就是564.牛牛现在给出一个sum,牛牛想让你求出一个正整数X经过上述过程的结果是sum....原创 2019-08-18 11:59:39 · 216 阅读 · 0 评论