自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 二叉搜索树BST

LeetCode每日一题(2021.11.26)【EASY】给定 二叉搜索树(BST) 的根节点和一个值。 你需要在BST中找到节点值 等于 给定值的节点。 返回以该节点为根的子树。 如果节点不存在,则返回 NULL。示例 1:输入:[6,3,8,2,4,7,9,1], val = 8输出:[8,7,9]示例 2:输入:[4,2,7,1,3], val = 2输出:[2,1,3]来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/searc

2021-11-26 21:55:21 223

原创 整数奇偶替换

LeetCode每日一题(2021.11.19)【MID】给定一个正整数 n :如果 n 是偶数,则用 n / 2替换 n 。如果 n 是奇数,则可以用 n + 1或n - 1替换 n 。n 变为 1 所需的最小替换次数是多少?示例 1:输入:n = 8输出:3解释:8 -> 4 -> 2 -> 1示例 2:输入:n = 7输出:4解释:7 -> 8 -> 4 -> 2 -> 1或 7 -> 6 -> 3 -> 2 -&g

2021-11-19 17:58:43 377

原创 猜数字大小(动态规划)

LeetCode每日一题(2021.11.12)【MID】我们正在玩一个猜数游戏,游戏规则如下:我从 1 到 n 之间选择一个数字。你来猜我选了哪个数字。如果你猜到正确的数字,就会 赢得游戏 。如果你猜错了,那么我会告诉你,我选的数字比你的 更大或者更小 ,并且你需要继续猜数。每当你猜了数字 x 并且猜错了的时候,你需要支付金额为 x 的现金。如果你花光了钱,就会 输掉游戏 。给你一个特定的数字 n ,返回能够 确保你获胜 的最小现金数,不管我选择那个数字 。示例 1:输入:n = 10输出

2021-11-12 22:03:22 584

原创 提莫攻击的中毒持续时间

LeetCode每日一题(2021.11.10)【EASY】提莫在 t 发起发起攻击意味着艾希在时间区间 [t, t + duration - 1](含 t 和 t + duration - 1)处于中毒状态。如果提莫在中毒影响结束 前 再次攻击,中毒状态计时器将会 重置 ,在新的攻击之后,中毒影响将会在 duration 秒后结束。给你一个 非递减 的整数数组 timeSeries ,其中 timeSeries[i] 表示提莫在 timeSeries[i] 秒时对艾希发起攻击,以及一个表示中毒持续时间

2021-11-10 15:43:29 181

原创 查找丢失的数字

LeetCode每日一题(2021.11.06)【EASY】给定一个包含 [0, n] 中 n 个数的数组 nums ,找出 [0, n] 这个范围内没有出现在数组中的那个数。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/missing-number示例 1:输入:nums = [3,0,1]输出:2解释:n = 3,因为有 3 个数字,所以所有的数字都在范围 [0,3] 内。2 是丢失的数字,因为它没有出现在 nums 中。示例 2:

2021-11-06 16:21:33 382

原创 有效完全平方根

LeetCode每日一题(2021.11.04)【EASY】给定一个 正整数 num ,编写一个函数,如果 num 是一个完全平方数,则返回 true ,否则返回 false 。进阶:不要 使用任何内置的库函数,如 sqrt 。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/valid-perfect-square示例 1:输入:num = 16输出:true示例 2:输入:num = 14输出:false快乐二分。class

2021-11-04 13:52:58 145

原创 分糖果---最多种类数

LeetCode每日一题(2021.11.01)【EASY】Alice 有 n 枚糖,其中第 i 枚糖的类型为 candyType[i] 。Alice 注意到她的体重正在增长,所以前去拜访了一位医生。医生建议 Alice 要少摄入糖分,只吃掉她所有糖的 n / 2 即可(n 是一个偶数)。Alice 非常喜欢这些糖,她想要在遵循医生建议的情况下,尽可能吃到最多不同种类的糖。给你一个长度为 n 的整数数组 candyType ,返回: Alice 在仅吃掉 n / 2 枚糖的情况下,可以吃到糖的最多种类数。

2021-11-01 21:39:57 99

原创 后一位更大的数

LeetCode每日一题(2021.10.26)【EASY】给你两个 没有重复元素 的数组 nums1 和 nums2 ,其中nums1 是 nums2 的子集。请你找出 nums1 中每个元素在 nums2 中的下一个比其大的值。nums1 中数字 x 的下一个更大元素是指 x 在 nums2 中对应位置的右边的第一个比 x 大的元素。如果不存在,对应位置输出 -1 。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/next-greater-

2021-10-26 15:07:34 63

原创 搜索二维矩阵

LeetCode每日一题(2021.10.25)【MID】编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target 。该矩阵具有以下特性:每行的元素从左到右升序排列。每列的元素从上到下升序排列。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/search-a-2d-matrix-ii示例 1:输入:matrix = [[1,4,7,11,15],[2,5,8,12,19],[3,6,9,16,22],[10

2021-10-25 14:25:37 79

原创 求众数(II)

LeetCode每日一题(2021.10.210)【EASY】给定一个大小为 n 的整数数组,找出其中所有出现超过【 n/3】 次的元素。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/majority-element-ii示例 1:输入:[3,2,3]输出:[3]示例 2:输入:nums = [1]输出:[1]示例 3:输入:[1,1,1,3,3,2,2,2]输出:[1,2]基础:哈希统计class Solution:

2021-10-22 11:33:02 101

原创 数的加一

LeetCode每日一题(2021.10.210)【EASY】给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。你可以假设除了整数 0 之外,这个整数不会以0开头。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/plus-one示例 1:输入:digits = [1,2,3]输出:[1,2,4]解释:输入数组表示数字 123。示例 2:输入:digit

2021-10-21 14:45:24 94

原创 使数组元素相同的最小操作次数

LeetCode每日一题(2021.10.20)【EASY】给你一个长度为 n 的整数数组,每次操作将会使 n - 1 个元素增加 1 。返回让数组所有元素相等的最小操作次数。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/minimum-moves-to-equal-array-elements示例 1:输入:n = [1,2,3]输出:3示例 2:输入:n = [1,1,1]输出:0逆向思维。正向加,逆向减。即每次一个数减1,只需

2021-10-20 17:19:37 631

原创 外观数列(递归)

LeetCode每日一题(2021.10.15)【MID】给定一个正整数 n ,输出外观数列的第 n 项。「外观数列」是一个整数序列,从数字 1 开始,序列中的每一项都是对前一项的描述。你可以将其视作是由递归公式定义的数字字符串序列:countAndSay(1) = “1”countAndSay(n) 是对 countAndSay(n-1) 的描述,然后转换成另一个数字字符串。前五项如下:111211211111221第一项是数字 1描述前一项,这

2021-10-15 16:53:16 126

原创 山峰数组的TOP

LeetCode每日一题(2021.10.14)【EASY】符合下列属性的数组 arr 称为 山峰数组(山脉数组) :arr.length >= 3存在 i(0 < i < arr.length - 1)使得:arr[0] < arr[1] < … arr[i-1] < arr[i]arr[i] > arr[i+1] > … > arr[arr.length - 1]给定由整数组成的山峰数组 arr ,返回任何满足 arr[0] < a

2021-10-14 15:06:52 112

原创 FizzBuzz表示

LeetCode每日一题(2021.10.13)【EASY】给你一个整数 n ,找出从 1 到 n 各个整数的 Fizz Buzz 表示,并用字符串数组 answer(下标从 1 开始)返回结果,其中:answer[i] == “FizzBuzz” 如果 i 同时是 3 和 5 的倍数。answer[i] == “Fizz” 如果 i 是 3 的倍数。answer[i] == “Buzz” 如果 i 是 5 的倍数。answer[i] == i 如果上述条件全不满足。示例 1:输入:n = 3

2021-10-13 15:44:57 224

原创 最后一个单词的长度

LeetCode每日一题(2021.9.21)【EASY】给你一个字符串 s,由若干单词组成,单词前后用一些空格字符隔开。返回字符串中最后一个单词的长度。单词是指仅由字母组成、不包含任何空格字符的最大子字符串。示例:输入:s = “Hello World”输出:5输入:s = " fly me to the moon "输出:4来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/length-of-last-wordclas

2021-09-25 23:17:52 61

原创 奇数长度子数组的和

LeetCode每日一题(2021.8.29)【EASY】给你一个正整数数组 arr ,请你计算所有可能的奇数长度子数组的和。子数组 定义为原数组中的一个连续子序列。 返回 arr 中 所有奇数长度子数组的和 。示例 1:输入:arr = [1,4,2,5,3]输出:58解释:所有奇数长度子数组和它们的和为:[1] = 1[4] = 4[2] = 2[5] = 5[3] = 3[1,4,2] = 7[4,2,5] = 11[2,5,3] = 10[1,4,2,5,3] = 15

2021-08-31 14:59:35 163

原创 一维数组的动态和

LeetCode每日一题(2021.8.28)【EASY】给你一个数组 nums 。数组「动态和」的计算公式为:runningSum[i] = sum(nums[0]…nums[i]) 。请返回 nums 的动态和。示例 1:输入:nums = [1,2,3,4]输出:[1,3,6,10]解释:动态和计算过程为 [1, 1+2, 1+2+3, 1+2+3+4] 。示例 2:输入:nums = [1,1,1,1,1]输出:[1,2,3,4,5]解释:动态和计算过程为 [1, 1+1, 1+

2021-08-30 11:39:27 112

原创 数据流中的中位数

LeetCode每日一题(2021.8.27)【Difficult】中位数是有序列表中间的数。如果列表长度是偶数,中位数则是中间两个数的平均值。例如,[2,3,4] 的中位数是 3[2,3] 的中位数是 (2 + 3) / 2 = 2.5设计一个支持以下两种操作的数据结构:void addNum(int num) - 从数据流中添加一个整数到数据结构中。double findMedian() - 返回目前所有元素的中位数。示例:addNum(1)addNum(2)findMedian(

2021-08-27 15:01:20 86

原创 救生艇,满载需要的最少数量船

LeetCode每日一题(2021.8.26)第 i 个人的体重为 people[i],每艘船可以承载的最大重量为 limit。每艘船最多可同时载两人,但条件是这些人的重量之和最多为 limit。返回载到每一个人所需的最小船数。(保证每个人都能被船载)。示例 1:输入:people = [1,2], limit = 3输出:1解释:1 艘船载 (1, 2)示例 2:输入:people = [3,2,2,1], limit = 3输出:3解释:3 艘船分别载 (1, 2), (2) 和

2021-08-26 12:03:31 240

原创 获取生成数组中的最大值

LeetCode每日一题(2021.8.23)给你一个整数 n 。按下述规则生成一个长度为 n + 1 的数组 nums :nums[0] = 0nums[1] = 1当 2 <= 2 * i <= n 时,nums[2 * i] = nums[i]当 2 <= 2 * i + 1 <= n 时,nums[2 * i + 1] = nums[i] + nums[i + 1]返回生成数组 nums 中的 最大 值。示例:输入:n = 7输出:3解释:根据规则:nu

2021-08-23 13:29:29 94

原创 压缩字符串

LeetCode每日一题(2021.8.21)给你一个字符数组 chars ,请使用下述算法压缩:从一个空字符串 s 开始。对于 chars 中的每组 连续重复字符 :如果这一组长度为 1 ,则将字符追加到 s 中。否则,需要向 s 追加字符,后跟这一组的长度。压缩后得到的字符串 s 不应该直接返回 ,需要转储到字符数组 chars 中。需要注意的是,如果组长度为 10 或 10 以上,则在 chars 数组中会被拆分为多个字符。请在 修改完输入数组后 ,返回该数组的新长度。你必须设计并实现一

2021-08-21 18:26:18 98

原创 反转字符串

给定一个字符串 s 和一个整数 k,从字符串开头算起,每 2k 个字符反转前 k 个字符。如果剩余字符少于 k 个,则将剩余字符全部反转。如果剩余字符小于 2k 但大于或等于 k 个,则反转前 k 个字符,其余字符保持原样。示例 1:输入:s = “abcdefg”, k = 2输出:“bacdfeg”示例 2:输入:s = “abcd”, k = 2输出:“bacd”来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/reverse-s

2021-08-20 13:59:33 73

原创 反转元音字母

编写一个函数,以字符串作为输入,反转该字符串中的元音字母。示例 1:输入:“hello”输出:“holle”示例 2:输入:“leetcode”输出:“leotcede”来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/reverse-vowels-of-a-string双指针遍历。注意大小写和长度。如果在 and 前先写列表取值会容易超出长度。所以先判断长度。# 双指针class reversevowels(): def r

2021-08-19 11:41:40 203

原创 SQL基础

左连接(即右表有没有都只返回左表)SELECT Person.FirstName, Person.LastName, Address.City, Address.StateFROM Person LEFT JOIN AddressON Person.PersonId = Address.PersonId返回空值,可以设置临时表,或者用isnullSELECT IFNULL( (SELECT DISTINCT Salary FROM Employee

2021-08-18 14:03:59 55

原创 出勤奖励 一

给你一个字符串 s 表示一个学生的出勤记录,其中的每个字符用来标记当天的出勤情况(缺勤、迟到、到场)。记录中只含下面三种字符:‘A’:Absent,缺勤‘L’:Late,迟到‘P’:Present,到场如果学生能够 同时 满足下面两个条件,则可以获得出勤奖励:按 总出勤 计,学生缺勤(‘A’)严格 少于两天。学生 不会 存在 连续 3 天或 3 天以上的迟到(‘L’)记录。如果学生可以获得出勤奖励,返回 true ;否则,返回 false 。来源:力扣(LeetCode)链接:https:

2021-08-18 14:02:26 112

原创 较大分组

LeetCode每日一题(1.5)在一个由小写字母构成的字符串 s 中,包含由一些连续的相同字符所构成的分组。分组区间用 [start, end] 表示,其中 start 和 end 分别表示该分组的 起始和终止 位置的下标。例如,在字符串 s = “abbxxxxzyy” 中,就含有 “a”, “bb”, “xxxx”, “z” 和 “yy” 这样的一些分组。 “xxxx” 分组用区间表示为 [3,6]。称所有包含大于或等于三个连续字符的分组为较大分组 。找到每一个 较大分组 的区间,按起始位置

2021-01-05 16:45:01 81

原创 斐波那契数列

LeetCode每日一题(1.4)斐波那契数列通常用 F(n) 表示,该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和。也就是:F(0) = 0,F(1) = 1F(n) = F(n - 1) + F(n - 2),其中 n > 1任给 n ,输出 F(n) 。示例:输入 2→输出 1输入 3→输出 2输入 4→输出 3链接:https://leetcode-cn.com/problems/fibonacci-number递推,想法是构建一个全为 0 的 n 维列表

2021-01-04 13:18:48 177

原创 辛勤的园丁来种花

LeetCode每日一题(2021.1.1)新年快乐!新的一年新的开始,新鲜的头发,希望能在我的头上扎根,不要乱跑了:)(*o~o)来看今天的种花简单题605:花卉不能种植在相邻的地块上,它们会争夺水源,两者都会死去。给定一个花坛(表示为一个数组包含0和1,其中0表示没种植花,1表示种植了花),和一个数 n 。能否在不打破种植规则的情况下种入 n 朵花?能则返回True,不能则返回False。链接:https://leetcode-cn.com/problems/can-place-flowers

2021-01-01 17:03:51 136

原创 分饼干

LeetCode每日一题(12.25日)Merry Christmas : D给你的孩子们一些小饼干。每个孩子最多只能给一块饼干。对每个孩子 i,都有一个胃口值 g[i],这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干 j,都有一个尺寸 s[j] 。如果 s[j] >= g[i],我们可以将这个饼干 j 分配给孩子 i ,这个孩子会得到满足。目标是尽可能满足多数量的孩子,并输出最大数值。示例:g=[1,2,3] s=[1,1]→1explain: 三个孩子胃口分别为1,2,3,只有

2020-12-25 17:39:40 194

原创 字符串找不同

每日一题(12.18)389简单:给定两个字符串 s 和 t,它们只包含小写字母。字符串 t 由字符串 s 随机重排,然后在随机位置添加一个字母。请找出在 t 中被添加的字母。示例: s=“abcd”; t=“abcde” → “e”链接:https://leetcode-cn.com/problems/find-the-difference思路:审题都是小写字母,且只有一个字母的差异,因此考虑转换成数值,求差,再反转转ASCII码值ord()转字母chr()class Solutio

2020-12-18 19:54:18 462 2

原创 质数计数

LeetCode每日一题(12.3)统计所有小于非负整数 n 的质数的数量。质数一直都是有趣的谜题. 重点在于没啥特别大的规律性可言.目前的判断质数,是看它是否能够因子分解.很明显不可能一个数一个数去判断,也不好判断哈.有趣的方法是,筛选.不管是埃式筛选法,还是欧氏筛选法.想法是剔除 <=n**0.5 的质数的倍数.eg:n=100,1,2,3,4,5,6,7,8,9a. 0,1 都不是质数,直接剔除b. 2是质数,剔除倍数 4,6,8c. 3是质数,剔除倍数 6,93&lt

2020-12-04 00:12:51 208

转载 Rstudio中更新R

在更新R的时候遇到的小问题,记下来记下来> updateR()Error in file(con, "r") : 无法打开链结此外: Warning message:In file(con, "r") : InternetOpenUrl失败:’操作超时'好像是因为镜像在国内的问题,所以加个镜像链接updateR(fast=TRUE,cran_mirror="https://mirrors.ustc.edu.cn/CRAN/")于是就成功了> updateR(fast=TRUE

2020-12-03 00:53:08 3364 3

转载 拼接最大数

LeetCode每日一题(12.2)关于查找最大数和最小数.https://leetcode-cn.com/problems/remove-duplicate-letters/solution/yi-zhao-chi-bian-li-kou-si-dao-ti-ma-ma-zai-ye-b-4/

2020-12-03 00:47:53 207

原创 二分法查找目标位置

通过审题确定关键信息,使用二分查找法升序数组查找数值要求时间复杂度为Olgn查找对应目标数字出现的位置–目标值在数组中的开始位置和结束位置。 因此我们可以通过二分方法确定目标值在数组中的左边界,然后再确定数组中的右边界。查找左边界和右边界的二分程序有明显不同,最简单的方法就是写两遍。 写二分查找方法注意二分查找方法可以看作逐步缩小坐标范围,因此在使用该方法时注意输入的数组是闭区间还是开区间或者半开半闭!就本题中查找左边界,输入应该为闭区间;查找右边界可以使用左边界的值为左初值,输入为左闭右开区间(]

2020-12-02 00:19:30 285

空空如也

空空如也

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

TA关注的人

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