自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 2021-11-13检测大写字母

题目描述: 我们定义,在以下情况时,单词的大写用法是正确的: 全部字母都是大写,比如 "USA" 。 单词中所有字母都不是大写,比如 "leetcode" 。 如果单词不只含有一个字母,只有首字母大写,比如"Google" 。 给你一个字符串 word 。如果大写用法正确,返回 true ;否则,返回 false 。 解法: 如果字符只有一个字符,返回 true。 下面的讨论基于字符串中至少又两个字符,分类讨论: 如果第一个字符大写,第二个字符大写,则后续所有字符需要大写。 如果第一个字..

2021-11-13 00:17:54 329 1

原创 2021-11-10提莫攻击

题目描述: 在《英雄联盟》的世界中,有一个叫 “提莫” 的英雄。他的攻击可以让敌方英雄艾希(编者注:寒冰射手)进入中毒状态。 当提莫攻击艾希,艾希的中毒状态正好持续duration 秒。 正式地讲,提莫在 t 发起发起攻击意味着艾希在时间区间 [t, t + duration - 1](含 t 和 t + duration - 1)处于中毒状态。如果提莫在中毒影响结束 前 再次攻击,中毒状态计时器将会 重置 ,在新的攻击之后,中毒影响将会在 duration 秒后结束。 给你一个 非递减 的整数数.

2021-11-10 00:19:19 211

原创 2021-11-08猜数字游戏

题目描述: 你在和朋友一起玩 猜数字(Bulls and Cows)游戏,该游戏规则如下: 写出一个秘密数字,并请朋友猜这个数字是多少。朋友每猜测一次,你就会给他一个包含下述信息的提示: 猜测数字中有多少位属于数字和确切位置都猜对了(称为 "Bulls", 公牛), 有多少位属于数字猜对了但是位置不对(称为 "Cows", 奶牛)。也就是说,这次猜测中有多少位非公牛数字可以通过重新排列转换成公牛数字。 给你一个秘密数字secret 和朋友猜测的数字guess ,请你返回对朋友这次猜测的提示。 提..

2021-11-08 00:44:12 2060

原创 2021-11-07范围求和II

题目描述: 给定一个初始元素全部为0,大小为 m*n 的矩阵M以及在M上的一系列更新操作。 操作用二维数组表示,其中的每个操作用一个含有两个正整数a 和 b 的数组表示,含义是将所有符合0 <= i < a 以及 0 <= j < b 的元素M[i][j]的值都增加 1。 在执行给定的一系列操作后,你需要返回矩阵中含有最大整数的元素个数。 示例: 输入: m = 3, n = 3 operations = [[2,2],[3,3]] 输出: 4 解释:...

2021-11-07 00:23:41 70

原创 2021-11-06丢失的数字

题目描述: 给定一个包含[0, n]中n个数的数组nums,找出[0, n]这个范围内没有出现在数组中的那个数。 示例: 输入:nums = [3,0,1]输出:2解释:n = 3,因为有 3 个数字,所以所有的数字都在范围 [0,3] 内。2 是丢失的数字,因为它没有出现在 nums 中。 解法: 使用长度为 n + 1的标记数组标记,遍历 nums ,相应值设置为1,最后返回标记为0的对应的数字。时间复杂度和空间复杂度为 o(n)。 代码如下: int missing...

2021-11-06 01:01:21 192

原创 2021-11-05最长定差子序列

题目描述: 给你一个整数数组arr和一个整数difference,请你找出并返回 arr中最长等差子序列的长度,该子序列中相邻元素之间的差等于 difference 。 子序列 是指在不改变其余元素顺序的情况下,通过删除一些元素或不删除任何元素而从 arr 派生出来的序列。 提示: 1 <= arr.length <= 105 -104<= arr[i], difference <= 104 示例: 输入:arr = [1,2,3,4], differ...

2021-11-05 12:11:57 71

原创 2021-11-04有效的完全平方数

题目描述: 给定一个 正整数 num ,编写一个函数,如果 num 是一个完全平方数,则返回 true ,否则返回 false 。 进阶:不要 使用任何内置的库函数,如sqrt 。 解法: 最直接的解法是遍历从 1 到 num 的整数,如果存在某个整数的平方是给定的 num,则 num 是一个完全平方数。如果num大于4,还可以只遍历 1 到 num / 2 之间的数,因为 x 大于 2 时,有。 但是当给定的num很大时以上的操作比较耗费时间,想要提高效率可以使用二分法或者牛顿法,这里采用牛..

2021-11-04 12:59:33 92

原创 2021-11-03接雨水II

题目描述: 给你一个m x n的矩阵,其中的值均为非负整数,代表二维高度图每个单元的高度,请计算图中形状最多能接多少体积的雨水。 例如:heightMap = [[1,4,3,1,3,2],[3,2,1,3,2,4],[2,3,3,2,3,1]] 时表示的情形如下图,最多接到的雨水体积为4。 解法: 模拟雨水的流失,先将所有格子上都放上雨水,使得所有格子的“地基”加雨水的高度相同。(边缘一圈和地基最高的格子上不放雨水) 然后多次遍历中间的格子(除去边缘一圈的格子),如果这个格子(i, j...

2021-11-03 18:53:26 55

原创 2020-11-2删除链表中的节点

题目描述: 请编写一个函数,用于 删除单链表中某个特定节点 。在设计函数时需要注意,你无法访问链表的头节点 head ,只能直接访问 要被删除的节点 。 题目数据保证需要删除的节点 不是末尾节点 。 解法: 直接将这一个节点的值替换为后一个节点的值,然后将后一个节点从链表中删除即可。 代码如下: void deleteNode(struct ListNode* node) { node->val = node->next->val; node->next = node

2021-11-02 00:23:58 43

原创 2021-11-1分糖果

题目描述: 给定一个偶数长度的数组,其中不同的数字代表着不同种类的糖果,每一个数字代表一个糖果。你需要把这些糖果平均分给一个弟弟和一个妹妹。返回妹妹可以获得的最大糖果的种类数。 注意: 数组的长度为[2, 10,000],并且确定为偶数。数组中数字的大小在范围[-100,000, 100,000]内。 解法: 设总糖果数为 m,其中不同的糖果种类为 n, 所求结果为 x。 一方面,妹妹分到的糖果最多不超过总糖果数的一半,即。 另一方面,如果 n >= m /2,则妹妹最多分到 m ..

2021-11-01 02:07:08 86

原创 2021-10-31键盘行

题目描述: 给你一个字符串数组 words ,只返回可以使用在 美式键盘 同一行的字母打印出来的单词。键盘如下图所示。 美式键盘 中: 第一行由字符 "qwertyuiop" 组成。 第二行由字符 "asdfghjkl" 组成。 第三行由字符 "zxcvbnm" 组成。 提示: 1 <= words.length <= 20 1 <= words[i].length <= 100 words[i] 由英文字母(小写和大写字母)组成 解法: 本题比较简单..

2021-10-31 01:28:25 106

原创 2021-10-30只出现一次的数字

题目描述: 给定一个整数数组nums,其中恰好有两个元素只出现一次,其余所有元素均出现两次。 找出只出现一次的那两个元素。你可以按 任意顺序 返回答案。 进阶:你的算法应该具有线性时间复杂度。你能否仅使用常数空间复杂度来实现? 解法: 运用异或运算解题。 在编程语言中,整数都是使用二进制表示的。两个整数的异或运算就是将每一位各自进行异或运算后得到的数。 对于两个相同的数,异或运算的结果为 0。对于两个不同的整数,异或运算的结果中至少有一位为1,因此此结果必不为0。 根据这个性质,对 nums.

2021-10-30 20:21:57 80

原创 2021-10-29路径交叉

题目描述: 给你一个整数数组 distance 。 从 X-Y 平面上的点(0,0)开始,先向北移动 distance[0] 米,然后向西移动 distance[1] 米,向南移动 distance[2] 米,向东移动 distance[3] 米,持续移动。也就是说,每次移动后你的方位会发生逆时针变化。 判断你所经过的路径是否相交。如果相交,返回 true ;否则,返回 false 。 解题思想: 归纳得到路径交叉的各种情况可分为三种: 第一种: 第 i 次移动与第 i - 3 次移动出现..

2021-10-29 18:54:28 74

原创 2021-10-28重新排序得到2的幂

题目描述: 给定正整数 N,我们按任何顺序(包括原始顺序)将数字重新排序,注意其前导数字不能为零。 如果我们可以通过上述方式得到2 的幂,返回 true;否则,返回 false。 其中: 1<= N <= 1e9。 解法: 1 判断数子是2的幂 在计算机中的整型数据就是使用二进制存放的,因此在计算机中判断整数是否是2的幂是一个很方便的事情。2的幂用二进制表示具有鲜明的特点,例如 8 = 2^3 使用二进制表示为 (00000000 00000000 00000000 00001..

2021-10-28 16:37:18 130

原创 2021-10-27删除非法的括号

使用 boolean valid(String s) 判断字符串 s 是否是合法的括号字符串。 public static boolean isValid(String s) { int l = 0; for (int i = 0; i < s.length(); i++) { int temp = s.charAt(i); if (temp == '(') l++; else if (temp == ')') { if (l > 0) l--; else re

2021-10-27 19:29:07 102

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除