![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
每日一题
摸鱼时刻
这个作者很懒,什么都没留下…
展开
-
森林中的兔子
【题目】森林中,每个兔子都有颜色。其中一些兔子(可能是全部)告诉你还有多少其他的兔子和自己有相同的颜色。我们将这些回答放在answers数组里。返回森林中兔子的最少数量。【说明】answers 的长度最大为1000。answers[i] 是在 [0, 999] 范围内的整数。【示例1】输入:answers=[1, 1, 2]输出:5解释:两只回答了 "1" 的兔子可能有相同的颜色,设为红色。之后回...原创 2018-07-16 13:51:56 · 1034 阅读 · 0 评论 -
给出集合
【题目】 [1, 2, 3, ···, n],其所有元素公有n!种排列。给定n和k,返回第k个排列。 按大小顺序列出所有排列情况,并一一标记,当n=3时,所有排列如下: 1. “123” 2. “132” 3. “213” 4. “231” 5. “312” 6. “321”【说明】 给定n的范围是[1, 9] 给定k的范围是[...原创 2018-07-27 08:30:47 · 573 阅读 · 0 评论 -
分隔链表
【题目】 给定一个链表和一个特定值x,对链表进行分隔,使得所有小于x的节点都在大于或等于x的节点之前。你应当保留两个分区中每个节点的初始相对位置。【示例】 输入:1->4->3->2->5->2, x = 3 输出:1->2->2->4->3->5【代码地址原创 2018-07-30 21:51:09 · 415 阅读 · 0 评论 -
到达终点数字
【题目】 在一根无限长的数轴上,你站在0的位置。终点在target的位置。每次你可以选择向左或向右移动。第n次移动(从1开始),可以走n步。返回到达终点需要的最小移动次数。【示例1】 输入:target = 3 输出:2 解释: 第一次移动,从0到1 第二次移动,从1到3【示例2】 输入:target = 2 输出:3 解释:...原创 2018-07-28 11:06:56 · 1667 阅读 · 0 评论 -
提莫攻击
【题目】在《英雄联盟》的世界里,有一个叫“提莫”的英雄,他的攻击可以让地方英雄艾希(寒冰射手)进入中毒状态。现在,给出提莫对艾希的攻击事件序列和提莫攻击的中毒持续时间,你需要输入艾希的中毒状态的总时长。你可以认定提莫在给定的时间点进行攻击,并立即使艾希处于中毒状态。【示例1】输入:[1,4], 2输出:4原因:在第1秒开始时,提莫开始对艾希进行攻击并使其立即中毒。中毒状态会维持...原创 2018-08-10 10:13:16 · 916 阅读 · 0 评论 -
汉明距离总和
【题目】 两个证书的汉明距离指的是这两个数字的二进制数对应值不同的数量。计算一个数组中,任意两个数之间汉明距离的总和。【示例】 输入:4, 14, 2 输出:6 解释:在二进制表示中,4表示为0100,14表示为1110,2表示为0010。(这样表示是为了提现后四位之间的关系)所以答案为: HammingDistance(4, 14) + HammingDi...原创 2018-08-10 20:57:49 · 801 阅读 · 0 评论 -
前k个高频元素
【题目】 给定一个非空的整数数组,返回其中出现频率前k高的元素。【示例1】 输入:nums = [1, 1, 1, 2, 2, 3], k = 2 输出:[1, 2]【示例2】 输入:nums = [1], k = 1 输出:[1]【说明】 你可以假设给定的 k 总是合理的,且 1 ≤ k ≤ 数组中不相同的元素的个数。 你的算...原创 2018-08-14 21:41:04 · 1413 阅读 · 0 评论 -
目标和
【题目】 给定一个非负整数数组,a1,a2,…,an,和一个目标数,S。现在你有两个符号+和-。对于数组中的任意一个整数,你都可以从+或-中选择一个符号添加在前面。返回可以使最终数组和为目标数S的所有添加符号的方法数。【示例】 输入:nums:[1,1, 1, 1, 1], S:3 输出:5 解释: -1+1+1+1+1 = 3 +1-1+1+1+1 ...原创 2018-08-17 22:26:15 · 684 阅读 · 0 评论 -
三角形最小路径和
【题目】 给定一个三角形,找出自顶向下的最小路径和。每一步只能移动到下一行中相邻的结点上。【示例】 例如,给定三角形: [ [2],  [3, 4], [6, 5, 7], [4, 1, 8, 3] ] 自顶向下的最小路径和为11(即, 2 + 3 + 5 + 1 = 11) 说明: 如果你可以只...原创 2018-08-13 19:08:38 · 583 阅读 · 0 评论 -
两两交换链表中的节点
【题目】 给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。【示例】 给定 1->2->3->4,你应该返回2->1->4->3【说明】 你的算法只能使用常数的额外空间。 你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。【代码地址】https://github.com/SmileJET/exe...原创 2018-08-16 21:55:44 · 379 阅读 · 0 评论 -
两数相除
【题目】给定两个整数,被除数dividend和除数divisor。将两数相除,要求不使用乘法、除法和mod运算符。返回被除数dividend除以除数divisor得到的商。【说明】被除数和除数均为 32 位有符号整数。除数不为 0。假设我们的环境只能存储 32 位有符号整数,其数值范围是 [−231, 231 − 1]。本题中,如果除法结果溢出,则返回 231 − 1【示例1】输入:dividen...原创 2018-07-16 10:08:01 · 791 阅读 · 0 评论 -
2的幂
【题目】给定一个整数,编写一个函数来判断它是否是2的幂次方。【实例1】输入:1输出:true【实例2】输入:218输出:false【代码地址】https://github.com/SmileJET/exercise_everyday/tree/master/20180704...原创 2018-07-16 09:59:36 · 504 阅读 · 0 评论 -
每日一题
不定期做一道题,题目放在这里,自己的代码及答案会放到github上,大家都可以看看题目做一做,共同进步。我还是一只菜鸟,写的代码可能不好,欢迎大家给出好的建议,更欢迎大家上传你们的代码~...原创 2018-07-16 09:49:10 · 522 阅读 · 0 评论 -
根据身高重建队列
【题目】假设有打乱顺序的一群人站成一个队列。每个人由一个整数对(h, k)表示,其中h是这个人的身高,k是排在这个人前面且身高大于或等于h的人数。编写一个算法来重建这个队列。【注意】总人数少于1100人。【示例】输入:[[7,0], [4,4], [7,1], [5,0], [6,1], [5,2]] 输出:[[5,0], [7,0], [5,2], [6,1], [4,4], [7,1]]【代码...原创 2018-07-16 13:58:01 · 1421 阅读 · 0 评论 -
翻转矩阵后的得分
【题目】有一个二维矩阵A其中每个元素的值为0或1。移动是指选择任一行或列,并转换该行或列中的每一个值:将所有的0都更改为1,将所有1都更改为0.在做出任意次数的移动后,将该矩阵的每一行都按照二进制数来解释,矩阵的得分就是这些数字的总和。返回尽可能高的分数。【示例】输入:[[0,0,1,1],[1,0,1,0],[1,1,0,0]]输出:39解释:转换为 [[1,1,1,1],[1,0,0,1],[...原创 2018-07-16 14:04:16 · 673 阅读 · 0 评论 -
错误的集合
【题目】集合S包含从1到n的整数。不幸的是,因为数据错误,导致集合里面某一个元素复制成了集合里面的另一个元素的值,导致集合丢失了一个整数并且有一个元素重复。给定一个数组nums代表了集合S发生错误后的结果。你的任务是首先寻找到重复出现的整数,再找到丢失的整数,将它们以数组的形式返回。【示例】输入: nums = [1,2,2,4]输出: [2,3]【注意】给定数组的长度范围是 [2, 10000]...原创 2018-07-16 14:09:10 · 666 阅读 · 0 评论 -
单词替换
【题目】给定一个由许多词根组成的词典和一个句子。你需要将句子中的所有继承词用词根替换掉。如果继承词有许多可以形成它的词根,则用最短的词根替换它。你需要输出替换之后的句子。【背景】在英语中,我们有一个叫做 词根(root)的概念,它可以跟着其他一些词组成另一个较长的单词——我们称这个词为 继承词(successor)。例如,词根an,跟随着单词 other(其他),可以形成新的单词...原创 2018-07-16 19:30:17 · 1157 阅读 · 0 评论 -
重新排序得到2的幂
【题目】从整数N开始,我们按任何顺序(包括原始顺序)将数字重新排序,注意其前导数字不能为零。如果我们可以通过上述方式得到2的幂,返回true;否则返回false。【提示】1 <= N <= 10^9 【示例1】输入:1输出:true【示例 2】输入:10输出:false【示例 3】输入:16输出:true【代码地址...原创 2018-07-17 20:11:44 · 974 阅读 · 0 评论 -
根据字符出现频率排序
【题目】给定一个字符串,请将字符串里的字符按照出现的频率降序排列。【示例1】输入:&quot;tree&quot;输出:&quot;eert&quot;解释:'e'出现两次,'r'和't'都只出现一次。因此'e'必须出现在'r'和't'之前。此外,&quot;eetr&quot;也是一个有效的答案。【示例2】输入:&quot;cccaaa&q原创 2018-07-23 19:32:53 · 1906 阅读 · 0 评论 -
从英文中重建数字
【题目】 给定一个非空字符串,其中包含字母顺序打乱的英文单词表示的数字0-9。按升序输出原始的数字。【示例1】 输入:”owoztneoer” 输出:”012”(zeroonetwo)【示例2】 输入:”fviefuro” 输出:”45”(fourfive)【注意】 输入只包含小写英文字母。 输入保证合法并可以转换为原始的数字,...原创 2018-07-24 19:19:01 · 846 阅读 · 0 评论 -
旋转链表
【题目】给定一个链表,旋转链表,将链表每个节点向右移动k个位置,其中k是非负数。【示例1】输入:1->2->3->4->5->NULL,k = 2输出:4->5->1->2->3->NULL解释:向右旋转1步:5->1->2->3->4->NULL向右旋转2步:4-&原创 2018-07-19 19:37:37 · 706 阅读 · 0 评论 -
分类颜色
【题目】 给定一个包含红色、白色和蓝色,一共n个元素的数组,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排序。 此题中,我们使用整数0、1和2分别表示红色、白色和蓝色。【示例】 输入:[2, 0, 2, 1, 1, 0] 输出:[0, 0, 1, 1, 2, 2]【注意】 不能使用代码库中的排序函数来解决这道题。【代码...原创 2018-07-20 19:42:48 · 1191 阅读 · 0 评论 -
LeetCode 911. 在线选举
class TopVotedCandidate {public: vector&amp;amp;lt;pair&amp;amp;lt;int, int&amp;amp;gt;&amp;amp;gt; li; TopVotedCandidate(vector&amp;amp;lt;int&amp;amp;gt; persons, vector&amp;amp;lt;int&原创 2018-09-29 19:47:39 · 688 阅读 · 0 评论