941-有效的山脉数组

2018-11-18
阅读 2 分钟
2.4k
给定一个整数数组 A,如果它是有效的山脉数组就返回 true,否则返回 false`。 让我们回顾一下,如果 A 满足下述条件,那么它是一个山脉数组: A.length >= 3 在 0 < i < A.length - 1 条件下,存在 i 使得: A[0] < A[1] < ... A[i-1] < A[i] `A[i] > A[i+1] > ... > A[B.length - 1] 示例1...

938-二叉搜索树的范围和

2018-11-11
阅读 2 分钟
2.9k
给定二叉搜索树的根结点 root,返回 L 和 R(含)之间的所有结点的值的和。 二叉搜索树保证具有唯一的值。 返回日志的最终顺序 示例1: {代码...} 示例2: {代码...} 提示: 树中的结点数量最多为 10000 个。 最终的答案保证小于 2^31。

937-重新排列日志文件

2018-11-11
阅读 2 分钟
3k
你有一个日志数组 logs。每条日志都是以空格分隔的字串。 对于每条日志,其第一个字为字母数字标识符。然后,要么: 标识符后面的每个字将仅由小写字母组成,或; 标识符后面的每个字将仅由数字组成。 我们将这两种日志分别称为字母日志和数字日志。保证每个日志在其标识符后面至少有一个字。 将日志重新排序,使得所有...

933-最近的请求次数

2018-11-04
阅读 2 分钟
3.2k
写一个 RecentCounter 类来计算最近的请求。 它只有一个方法:ping(int t),其中 t 代表以毫秒为单位的某个时间。 返回从 3000 毫秒前到现在的 ping 数。 任何处于 [t - 3000, t] 时间范围之内的 ping 都将会被计算在内,包括当前(指 t 时刻)的 ping。 保证每次对 ping 的调用都使用比之前更大的 t 值。 示例: {代码....

930-和相同的二元子数组

2018-10-28
阅读 1 分钟
2.6k
在由若干 0 和 1 组成的数组 A 中,有多少个和为 S 的非空子数组。示例: {代码...} 提示 A.length <= 30000 0 <= S <= A.length A[i] 为 0 或 1

929-独特的电子邮件地址

2018-10-28
阅读 2 分钟
6k
每封电子邮件都由一个本地名称和一个域名组成,以@符号分隔。 例如,在 alice@leetcode.com中, alice 是本地名称,而 leetcode.com 是域名。 除了小写字母,这些电子邮件还可能包含 ',' 或 '+'。 如果在电子邮件地址的本地名称部分中的某些字符之间添加句点('.'),则发往那里的邮件将会转发到本地名称中没有点的同一...

925-长按键入

2018-10-21
阅读 3 分钟
2.5k
你的朋友正在使用键盘输入他的名字 name。偶尔,在键入字符 c 时,按键可能会被长按,而字符可能被输入 1 次或多次。你将会检查键盘输入的字符 typed。如果它对应的可能是你的朋友的名字(其中一些字符可能被长按),那么就返回 True。示例 1: {代码...} 示例 2: {代码...} 示例 3: {代码...} 示例 4: {代码...} 提...

908-最小差值I

2018-09-24
阅读 2 分钟
3.2k
给定一个整数数组 A,对于每个整数 A[i],我们可以选择任意 x 满足 -K <= x <= K,并将 x 加到 A[i] 中。 在此过程之后,我们得到一些数组 B。 返回 B 的最大值和 B 的最小值之间可能存在的最小差值。 示例 1: {代码...} 示例 2: {代码...} 示例 3: {代码...} 提示: 1 <= A.length <= 10000 0 <= A[i...

904-水果成篮

2018-09-16
阅读 2 分钟
3.3k
在一排树中,第 i 棵树产生 tree[i] 型的水果。你可以从你选择的任何树开始,然后重复执行以下步骤: 把这棵树上的水果放进你的篮子里。如果你做不到,就停下来。 移动到当前树右侧的下一棵树。如果右边没有树,就停下来。 请注意,在选择一颗树后,你没有任何选择:你必须执行步骤 1,然后执行步骤 2,然后返回步骤 1,...

905-按奇偶校验排序数组

2018-09-16
阅读 1 分钟
3.6k
给定一个非负整数数组 A,返回一个由 A 的所有偶数元素组成的数组,后面跟 A 的所有奇数元素。你可以返回满足此条件的任何数组作为答案。 示例: {代码...} 提示: 1 <= A.length <= 5000 0 <= A[i] <= 5000

901-股票价格跨度

2018-09-09
阅读 5 分钟
2.7k
编写一个StockSpanner类,它收集某些股票的每日报价,并返回该股票当日价格的跨度。 今天股票价格的跨度被定义为股票价格小于或等于今天价格的最大连续日数(从今天开始往回数,包括今天)。 例如,如果未来7天股票的价格是[100, 80, 60, 70, 60, 75, 85],那么股票跨度将是 [1, 1, 1, 2, 1, 4, 6]。 示例: {代码...} ...

900-RLE 迭代器

2018-09-09
阅读 2 分钟
3.8k
编写一个遍历游程编码序列的迭代器。 迭代器由RLEIterator(int[] A)初始化,其中A是某个序列的游程编码。更具体地,对于所有偶数 i,A[i] 告诉我们在序列中重复非负整数值 A[i + 1] 的次数。 迭代器支持一个函数:next(int n),它耗尽接下来的n个元素(n >= 1)并返回以这种方式耗去的最后一个元素。如果没有剩余的元...

69-x的平方根

2018-09-07
阅读 1 分钟
4.4k
实现int sqrt(int x)函数。计算并返回 x 的平方根,其中 x 是非负整数。由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去。示例 1: {代码...} 示例 2: {代码...}

70-爬楼梯

2018-09-03
阅读 1 分钟
3.3k
假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?注意:给定 n 是一个正整数。 示例 1: {代码...} 示例 2: {代码...}

897-递增顺序查找树

2018-09-02
阅读 2 分钟
3.4k
前言 Weekly Contest 100的递增顺序查找树,题目要求如下: 给定一个树,按顺序重新排列树,使树中最左边的结点现在是树的根,并且每个结点没有左子结点,只有一个右子结点。 示例 : {代码...} 解题思路 这道题解题步骤如下: 找出树的最左节点:用中序遍历的方式获取到树的最左节点的访问序列 根据这个访问序列生成一...

896-单调数列

2018-09-02
阅读 1 分钟
3.6k
如果数组是单调递增或单调递减的,那么它是单调的。 如果对于所有 i <= j,A[i] <= A[j],那么数组 A 是单调递增的。 如果对于所有 i <= j,A[i]> = A[j],那么数组 A 是单调递减的。 当给定的数组 A 是单调数组时返回 true,否则返回 false。 示例 1: {代码...} 示例 2: {代码...} 示例 3: {代码...} 示...

811-子域名访问计数

2018-08-31
阅读 4 分钟
1.9k
一个网站域名,如"discuss.leetcode.com",包含了多个子域名。作为顶级域名,常用的有"com",下一级则有"leetcode.com",最低的一级为"discuss.leetcode.com"。当我们访问域名"discuss.leetcode.com"时,也同时访问了其父域名"leetcode.com"以及顶级域名 "com"。 给定一个带访问次数和域名的组合,要求分别计算每个域名...

476-数字的补数

2018-08-23
阅读 1 分钟
3.7k
前言 LeetCode上一道关于位运算的题目数字的补数,原题目如下: 给定一个正整数,输出它的补数。补数是对该数的二进制表示取反。注意: 给定的整数保证在32位带符号整数的范围内。 你可以假定二进制数不包含前导零位。 示例 1:输入: 5输出: 2解释: 5的二进制表示为101(没有前导零位),其补数为010。所以你需要输出2。示...

461-汉明距离

2018-08-23
阅读 1 分钟
3.6k
两个整数之间的汉明距离指的是这两个数字对应二进制位不同的位置的数目。给出两个整数 x 和 y,计算它们之间的汉明距离。注意:0 ≤ x, y < 231. 示例:输入: x = 1, y = 4输出: 2 解释:1 (0 0 0 1)4 (0 1 0 0)

345-反转字符串中的元音字母

2018-08-22
阅读 2 分钟
2.6k
编写一个函数,以字符串作为输入,反转该字符串中的元音字母。示例 1:输入: "hello"输出: "holle"示例 2:输入: "leetcode"输出: "leotcede" 说明:元音字母不包含字母"y"。

890-查找和替换模式

2018-08-19
阅读 2 分钟
2.8k
你有一个单词列表 words 和一个模式 pattern,你想知道 words 中的哪些单词与模式匹配。如果存在字母的排列 p ,使得将模式中的每个字母 x 替换为 p(x) 之后,我们就得到了所需的单词,那么单词与模式是匹配的。(回想一下,字母的排列是从字母到字母的双射:每个字母映射到另一个字母,没有两个字母映射到同一个字母。...

888-公平的糖果交换

2018-08-19
阅读 2 分钟
2.7k
爱丽丝和鲍勃有不同大小的糖果棒:A[i] 是爱丽丝拥有的第 i 块糖的大小,B[j] 是鲍勃拥有的第 j 块糖的大小。因为他们是朋友,所以他们想交换一个糖果棒,这样交换后,他们都有相同的糖果总量。(一个人拥有的糖果总量是他们拥有的糖果棒大小的总和。) 返回一个整数数组 ans,其中 ans[0] 是爱丽丝必须交换的糖果棒的大...

884-两句话中的不常见单词

2018-08-12
阅读 3 分钟
2.6k
给定两个句子 A 和 B 。 (句子是一串由空格分隔的单词。每个单词仅由小写字母组成。)如果一个单词在其中一个句子中只出现一次,在另一个句子中却没有出现,那么这个单词就是不常见的。 返回所有不常用单词的列表。 您可以按任何顺序返回列表。 示例 1: 输入:A = "this apple is sweet", B = "this apple is sour"输...

292-Nim游戏

2018-08-11
阅读 1 分钟
3.2k
你和你的朋友,两个人一起玩 Nim游戏:桌子上有一堆石头,每次你们轮流拿掉 1 - 3 块石头。 拿掉最后一块石头的人就是获胜者。你作为先手。你们是聪明人,每一步都是最优解。 编写一个函数,来判断你是否可以在给定石头数量的情况下赢得游戏。 示例:输入: 4输出: false 解释: 如果堆中有 4 块石头,那么你永远不会赢得比...

887-三维形体投影面积

2018-08-05
阅读 2 分钟
2.4k
LeetCode Weekly Contest 96的第一道题目,分值为4分。虽然标注为简单,但是需要有很好的空间想象力。原题目内容如下(由于这个题目需要结合题目中的示例查看,示例为一些图片,所以建议去原站看):

677-键值映射(Map Sum Pairs)

2018-07-31
阅读 3 分钟
2.3k
实现一个 MapSum 类里的两个方法,insert 和 sum。对于方法 insert,你将得到一对(字符串,整数)的键值对。字符串表示键,整数表示值。如果键已经存在,那么原来的键值对将被替代成新的键值对。 对于方法 sum,你将得到一个表示前缀的字符串,你需要返回所有以该前缀开头的键的值的总和。 示例 1: 输入: insert("apple...

208-实现 Trie (前缀树)

2018-07-29
阅读 3 分钟
4k
前缀树是一种很常用的数据结构,例如我们常用的数据库索引。而关于前缀树的介绍,由于LeetCode中国有关于前缀树的教程,我就不班门弄斧了,我的答案也是参考教程的思路去解答,希望可以给大家一个参考。下面是原题目: