自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 leetcode day 34 63

1. 向右 -> 向右 -> 向下 -> 向下。2. 向下 -> 向下 -> 向右 -> 向右。否则,dp[i][0]=dp[i-1][0]机器人每次只能向下或者向右移动一步。返回机器人能够到达右下角的不同路径数量。机器人的移动路径中不能包含。3x3 网格的正中间有一个障碍物。如果有障碍物,dp[i][0]=0。网格中的障碍物和空位置分别用。测试用例保证答案小于等于。(1)遇到障碍物,dp为0。(2)否则应用状态转移方程。从左上角到右下角一共有。

2025-03-31 20:35:02 120

原创 leetcode day33 738+343

当且仅当每个相邻位数上的数字x和y满足x <= y时,我们称这个整数是的。给定一个整数n,返回小于或等于n的最大数字,且数字呈。n = 109n = 12341234n = 332299c 数字转字符串库函数sprintf(str,"%d",num), 头文件<stdio.h>// 输出 "123"字符串转数字atoi(str)贪心策略:从后往前遍历,如果s[i]<s[i-1],标记该位置,后面的数字变为9,s[i-1]-=1例如332,s[2]<s[1],那么。

2025-03-29 21:33:41 398

原创 leetcode day32 763+56

给你一个字符串s。我们要把这个字符串划分为尽可能多的片段,同一字母最多出现在一个片段中。例如,字符串"ababcc"能够被分为,但类似或的划分是非法的。注意,划分结果需要满足:将所有划分结果按顺序连接,得到的字符串仍然是s。返回一个表示每个字符串片段的长度的列表。[9,7,8]划分结果为 "ababcbaca"、"defegde"、"hijhklij"。每个字母最多出现在一个片段中。像 "ababcbacadefegde", "hijhklij" 这样的划分是错误的,因为划分的片段数较少。

2025-03-28 20:09:31 924

原创 leetcode day31 453+435

有一些球形气球贴在一堵用 XY 平面表示的墙面上。墙面上的气球记录在整数数组points,其中表示水平直径在xstart和xend之间的气球。你不知道气球的确切 y 坐标。一支弓箭可以沿着 x 轴从不同点地射出。在坐标x处射出一支箭,若有一个气球的直径的开始和结束坐标为startend, 且满足end,则该气球会被。可以射出的弓箭的数量。弓箭一旦被射出之后,可以无限地前进。给你一个数组points返回引爆所有气球所必须射出的弓箭数。

2025-03-26 17:42:14 606

原创 leetcode day30 134+135+860

在一条环路上有n个加油站,其中第i个加油站有汽油gas[i]升。你有一辆油箱容量无限的的汽车,从第i个加油站开往第i+1个加油站需要消耗汽油cost[i]升。你从其中的一个加油站出发,开始时油箱为空。给定两个整数数组gas和cost,如果你可以按顺序绕环路行驶一周,则返回出发时加油站的编号,否则返回-1。如果存在解,则它是的。3从 3 号加油站(索引为 3 处)出发,可获得 4 升汽油。此时油箱有 = 0 + 4 = 4 升汽油。

2025-03-25 21:20:19 658

原创 leetcode day29 1005

也可以按绝对值从大到小排序,这样循环就可以先把大的负数变成正数。最后,如果k为奇数,把最小的元素,即最后一个元素nums[n-1]变为相反数。解题思路:贪心,排序后尽可能把所有负数变成正数。如果都是正数后,k不等于0且为奇数,再排序一次,把最小值变为负数即可。选择下标 (1, 2, 2) ,nums 变为 [3,1,0,2]。选择下标 (1, 4) ,nums 变为 [2,3,-1,5,4]选择下标 1 ,nums 变为 [4,-2,3]。以这种方式修改数组后,返回数组。可以多次选择同一个下标。

2025-03-23 21:19:31 373

原创 leetcode day28 122+55+45

给你一个整数数组prices,其中prices[i]表示某支股票第i天的价格。在每一天,你可以决定是否购买和/或出售股票。你在任何时候只能持有股票。你也可以先购买,然后在出售。返回你能获得的利润。7在第 2 天(股票价格 = 1)的时候买入,在第 3 天(股票价格 = 5)的时候卖出, 这笔交易所能获得利润 = 5 - 1 = 4。随后,在第 4 天(股票价格 = 3)的时候买入,在第 5 天(股票价格 = 6)的时候卖出, 这笔交易所能获得利润 = 6 - 3 = 3。

2025-03-10 21:38:32 544

原创 leetcode day27 455+376

假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。对每个孩子i,都有一个胃口值g[i],这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干j,都有一个尺寸s[j]。如果,我们可以将这个饼干j分配给孩子i,这个孩子会得到满足。你的目标是满足尽可能多的孩子,并输出这个最大数值。12。

2025-03-08 21:06:24 779

原创 leetcode day26 重复的子字符串

给定一个非空的字符串s,检查是否可以通过由它的一个子串重复多次构成。s = "abab"true可由子串 "ab" 重复两次构成。s = "aba"falsetrue可由子串 "abc" 重复四次构成。(或子串 "abcabc" 重复两次构成。

2025-03-06 17:40:35 459

原创 leetcode day25 28 KMP算法

解题思路:KMP算法。不相等j回退到前一个位置的next[j-1],相等j++;next[i]=j;//回退冲突的前一个位置。字符串的第一个匹配项的下标(下标从 0 开始)。1、确定前缀表next的值,初始化next[0]=0。j为前缀末尾,i为后缀末尾,初始j=0,i=1。第一个匹配项的下标是 0 ,所以返回 0。"sad" 在下标 0 和 6 处匹配。m为匹配串p长度,n为要匹配的长串s长度。

2025-03-05 15:39:53 334

原创 leetcode day24 541+151

给定一个字符串s和一个整数k,从字符串开头算起,每计数至2k个字符,就反转这2k字符中的前k个字符。

2025-03-04 23:28:40 874

原创 58区间和+44开发商购买土地(前缀和)

58. 区间和(第九期模拟笔试)

2025-02-28 21:16:31 171

原创 leetcode day23 54 螺旋矩阵

二维数组行m=matrixSize,列n=matrixColSize[0],返回矩阵中的所有元素。

2025-02-26 20:22:47 371

原创 leetcode day22 59

/返回行数也要分配内存。//第i行的列数为n。所有元素,且元素按顺时针顺序螺旋排列的。malloc分配二维数组m*n内存的方法。*returnSize返回数组列数。

2025-02-25 20:22:56 370

原创 leetcode day21 76

最小覆盖子串 "BANC" 包含来自字符串 t 的 'A'、'B' 和 'C'。t 中两个字符 'a' 均应包含在 s 的子串中,因此没有符合条件的子字符串,返回空字符串。所有字符的子串,则返回空字符串。整个字符串 s 是最小覆盖子串。所有字符的最小子串。

2025-02-24 20:25:49 249

原创 leetcode day20 滑动窗口209+904

给定一个含有n个正整数的数组和一个正整数target找出该数组中满足其总和大于等于target的长度最小的,并返回其长度如果不存在符合条件的子数组,返回0。2子数组[4,3]是该条件下的长度最小的子数组。10滑动窗口的精妙之处 不断变更i。

2025-02-23 22:55:18 870

原创 leetcode day19 844+977

给定 和 两个字符串,当它们分别被输入到空白的文本编辑器后,如果两者相等,返回 。 代表退格字符。注意:如果对空文本输入退格字符,文本继续为空。示例 1:输入:s = "ab#c", t = "ad#c"输出:true解释:s 和 t 都会变成 "ac"。示例 2:输入:s = "ab##", t = "c#d#"输出:true解释:s 和 t 都会变成 ""。

2025-02-20 22:20:42 984

原创 leetcode day18 移除元素 26+283

思考什么情况下才需要填新元素,当nums[fast]!=nums[fast-1]时,把fast值赋给slow。移动到数组的末尾,同时保持非零元素的相对顺序。,必须在不复制数组的情况下原地对数组进行操作。,返回删除后数组的新长度。删除重复出现的元素,使每个元素。,编写一个函数将所有。

2025-02-19 22:09:42 410

原创 leetcode day17 二分查找 34+367 移除元素27

给你一个按照非递减顺序排列的整数数组 nums,和一个目标值 target。请你找出给定目标值在数组中的开始位置和结束位置。如果数组中不存在目标值 target,返回 [-1, -1]。你必须设计并实现时间复杂度为 O(log n) 的算法解决此问题。

2025-02-11 21:24:50 975

原创 leetcode day16 2944

用 prices[2] = 6 个金币购买第 3 个水果,你可以免费获得第 4,5,6(接下来的三个)水果。用 prices[0] = 3 个金币购买第 1 个水果,你可以免费获得第 2 个水果。用 prices[1] = 1 个金币购买第 2 个水果,你可以免费获得第 3 个水果。用 prices[0] = 1 个金币购买第 1 个水果,你可以免费获得第 2 个水果。用 prices[2] = 1 个金币购买第 3 个水果,你可以免费获得第 4 个水果。输入:prices = [1,10,1,1]

2025-01-24 20:01:27 312

原创 xtu oj 1614 数字(加强版)

每行输出一个样例的结果,为一个整数。

2025-01-08 00:17:58 253

原创 xtu oj 1613 回文串

第一行是一个整数,表示样例的数量。每个样例为一个字符串,只含英文小写字母,长度不超过1000。比如字符串abcbc,你可以在最后拼接2个字符ba,使得字符串变为回文串abcbcba,现在给你一个只含英文小写字母的字符串,请问在后面拼接多少个字符会使得其变成回文串。一个字符串,你可以在这个字符串后面拼接若干个任意字符,使得这个字符串成为回文串。回文串,即字符串从左到右,从右到左读是一样的。依次输出每个样例的结果,为一个整数。

2025-01-07 16:12:44 449

原创 leetcode day15 122+134

给你一个整数数组prices,其中prices[i]表示某支股票第i天的价格。在每一天,你可以决定是否购买和/或出售股票。你在任何时候只能持有股票。你也可以先购买,然后在出售。返回你能获得的利润。7在第 2 天(股票价格 = 1)的时候买入,在第 3 天(股票价格 = 5)的时候卖出, 这笔交易所能获得利润 = 5 - 1 = 4。随后,在第 4 天(股票价格 = 3)的时候买入,在第 5 天(股票价格 = 6)的时候卖出, 这笔交易所能获得利润 = 6 - 3 = 3。

2024-12-05 16:36:24 538

原创 leetcode day14 二分法 35+69

给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。请必须使用时间复杂度为O(log n)的算法。214。

2024-11-28 22:26:50 227

原创 xtu oj 众数

【代码】xtu oj 众数。

2024-11-27 21:02:47 451

原创 网络钓鱼实践

9、查看kali主机获取的用户账号和密码,成功获得用户谷歌的账号和密码。6、设置为kali的ip地址,192.168.17.128。8、win7靶机访问kali的ip,并输入账号密码。4、选择3,凭证收割机攻击方法(钓鱼网站攻击)1、打开kali终端,输入setoolkit。5、选择1,根据现有模板制作钓鱼网站。账号yyy 密码yyy123。2、选择1,社会工程学攻击。3、选择2,web站点攻击。7、选择2,克隆谷歌。

2024-11-25 16:04:12 257

原创 leetcode day13 贪心 45+55

每个元素 nums[i] 表示从索引 i 向前跳转的最大长度。返回到达 nums[n - 1] 的最小跳跃次数。生成的测试用例可以到达 nums[n - 1]。从下标为 0 跳到下标为 1 的位置,跳 1 步,然后跳 3 步到达数组的最后一个位置。给定一个长度为 n 的 0 索引整数数组 nums。初始位置为 nums[0]。输入: nums = [2,3,1,1,4]解释: 跳到最后一个位置的最小跳跃数是 2。输入: nums = [2,3,0,1,4]

2024-11-24 17:56:33 404

原创 xtu oj Estrella‘s Chocolate

【代码】xtu oj Estrella‘s Chocolate。

2024-11-22 19:25:04 490 1

原创 xtu oj 前缀和

【代码】xtu oj 前缀和。

2024-11-22 16:58:36 460

原创 leetcode day12 贪心 605+44

假设有一个很长的花坛,一部分地块种植了花,另一部分却没有。可是,花不能种植在相邻的地块上,它们会争夺水源,两者都会死去。给你一个整数数组flowerbed表示花坛,由若干0和1组成,其中0表示没种植花,1表示种植了花。另有一个数n,能否在不打破种植规则的情况下种入n朵花?能则返回true,不能则返回false。truefalse。

2024-11-21 12:24:58 867

原创 leetcode day11 贪心篇结合双指针 11

图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(表示为蓝色部分)的最大值为 49。轴共同构成的容器可以容纳最多的水。根据范围,容量用int类型即可。找出其中的两条线,使得它们与。返回容器可以储存的最大水量。解题思路:利用双指针。

2024-11-20 23:52:04 218

原创 xtu oj 最小化

【代码】xtu 最小化。

2024-11-20 20:13:16 368

原创 leetcode day10 动态规划篇 64+139

给定一个包含非负整数的m x n网格grid,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。每次只能向下或者向右移动一步。

2024-11-12 13:06:26 788

原创 xtu oj 加一

【代码】xtu 加一。

2024-11-11 23:50:47 585

原创 xtu oj 图像

【代码】xtu oj 图像。

2024-11-05 16:18:36 673

原创 xtu oj 马里奥

依次每行输出一个样例的结果,为一个整数。如果就算去掉所有的砖块,都不能阻止马里奥,输出-1。

2024-11-04 17:27:47 341

原创 leetcode day9 740+62

给你一个整数数组 nums ,你可以对它进行一些操作。每次操作中,选择任意一个 nums[i] ,删除它并获得 nums[i] 的点数。之后,你必须删除 所有 等于 nums[i] - 1 和 nums[i] + 1 的元素。开始你拥有 0 个点数。返回你能通过这些操作获得的最大点数。示例 1:输入:nums = [3,4,2]输出:6解释:删除 4 获得 4 个点数,因此 3 也被删除。之后,删除 2 获得 2 个点数。总共获得 6 个点数。

2024-11-04 11:41:06 394

原创 leetcode day8 动态规划篇 3259+746+198

来自未来的体育科学家给你两个整数数组 energyDrinkA 和 energyDrinkB,数组长度都等于 n。这两个数组分别代表 A、B 两种不同能量饮料每小时所能提供的强化能量。你需要每小时饮用一种能量饮料来 最大化 你的总强化能量。然而,如果从一种能量饮料切换到另一种,你需要等待一小时来梳理身体的能量体系(在那个小时里你将不会获得任何强化能量)。返回在接下来的 n 小时内你能获得的 最大 总强化能量。注意 你可以选择从饮用任意一种能量饮料开始。

2024-11-01 11:49:03 721

原创 xtu Diagram 图表

y轴中的出现次数使用'*'表示。为了让图表不至于太长,一个'*'表示的数量要尽可能的大。给你一个字符串,请统计各个字符出现的个数,并使用字符打印一幅统计图表。每行一个只含英文大写字母的字符串,长度不超过1000。x轴的字符为字符串中出现过的字符,并按字典顺序排列。每行输出一个样例的结果,每个结果之后有一个空行。存在多个测试用例,处理到文件末尾。x轴是字符,y轴是字符出现个数。每行的行末不允许多余的空格。

2024-10-31 19:53:31 332

原创 leetcode day7 442

给你一个长度为 n 的整数数组 nums ,其中 nums 的所有整数都在范围 [1, n] 内,且每个整数出现 最多两次。请你找出所有出现 两次 的整数,并以数组形式返回。你必须设计并实现一个时间复杂度为 O(n) 且仅使用常量额外空间(不包括存储输出所需的空间)的算法解决此问题。输入:nums = [4,3,2,7,8,2,3,1]输入:nums = [1,1,2]输入:nums = [1]

2024-10-27 22:06:07 484

空空如也

空空如也

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

TA关注的人

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