自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(164)
  • 资源 (1)
  • 收藏
  • 关注

原创 字符串-替换数字(栈)

给定一个字符串 s,它包含小写字母和数字字符,请编写一个函数,将字符串中的字母字符保持不变,而将每个数字字符替换为number。例如,对于输入字符串 "a1b2c3",函数应该将其转换为 "anumberbnumbercnumber"。打印一个新的字符串,其中每个数字字符都被替换为了number。输入一个字符串 s,s 仅包含小写字母和数字字符。

2024-05-22 23:10:07 51

原创 字符串-541. 反转字符串II

从字符串开头算起,每计数至。

2024-05-22 22:57:57 47

原创 字符串-344.反转字符串

编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组。、使用 O(1) 的额外空间解决这一问题。不要给另外的数组分配额外的空间,你必须。

2024-05-22 22:56:35 51

原创 哈希-383.救赎金

解题思路:使用哈希,ransomNote入哈希则++,magazine如哈希则--,最后遍历ransomNote中如果存在大于0的值则说明是false,否则是true。

2024-05-20 23:31:51 222

原创 哈希-1.两数相加

你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。因为 nums[0] + nums[1] == 9 ,返回 [0, 1]。整数,并返回它们的数组下标。你可以按任意顺序返回答案。,请你在该数组中找出。

2024-05-19 22:20:10 204

原创 哈希-202快乐数

分析:1.逐个获取数字的每一位并且相加,判断概数是否为1,如果为1则return true。2.关键点:如果判断重复数,需要用hash来判断。编写一个算法来判断一个数。

2024-05-19 13:13:29 100

原创 哈希-350两数组的交集II

请你以数组形式返回两数组的交集。返回结果中每个元素出现的次数,应与元素在两个数组中都出现的次数一致(如果出现次数不一致,则考虑取较小值)。可以不考虑输出结果的顺序。

2024-05-19 11:16:35 105

原创 哈希-349两个数组的交集

同时有个地方需要注意,需要踢掉重复的数据,所以每次赋值给结果数组后,需要在hash中去掉该值的标记。备注:取交集则数组的最大值为两个数组中最小长度。输出结果中的每个元素一定是。[4,9] 也是可通过的。

2024-05-18 22:44:12 116

原创 哈希-242有效的字母异位数

示例 1: 输入: s = "anagram", t = "nagaram" 输出: true。给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。示例 2: 输入: s = "rat", t = "car" 输出: false。你可以假设字符串只包含小写字母。

2024-05-17 23:58:30 138

原创 链表-707.设计链表

【代码】链表-707.设计链表。

2024-05-12 21:32:12 287

原创 链表-203.移除链表元素

示例 1: 输入:head = [1,2,6,3,4,5,6], val = 6 输出:[1,2,3,4,5]否则则保存节点的前驱和后继,遇到相等的值则pre = tmp->next->next即可。示例 3: 输入:head = [7,7,7,7], val = 7 输出:[]分析:如果是head->val == val则head = head->next。示例 2: 输入:head = [], val = 1 输出:[]

2024-05-07 00:02:20 208

原创 数组-59.螺旋矩阵II

这里一圈下来,我们要画每四条边,这四条边怎么画,每画一条边都要坚持一致的左闭右开,或者左开右闭的原则,这样这一圈才能按照统一的规则画下来。这里每一种颜色,代表一条边,我们遍历的长度,可以看出每一个拐角处的处理规则,拐角处让给新的一条边来继续画。可以发现这里的边界条件非常多,在一个循环中,如此多的边界条件,如果不按照固定规则来遍历,那就是。就是因为在画每一条边的时候,一会左开右闭,一会左闭右闭,一会又来左闭右开,岂能不乱。一些同学做这道题目之所以一直写不好,代码越写越乱。这也是坚持了每条边左闭右开的原则。

2024-05-04 23:49:31 274

原创 数组:209.长度最小的子数组

给定一个含有 n 个正整数的数组和一个正整数 s ,找出该数组中满足其和 ≥ s 的长度最小的 连续 子数组,并返回其长度。在暴力解法中,是一个for循环滑动窗口的起始位置,一个for循环为滑动窗口的终止位置,用两个for循环 完成了一个不断搜索区间的过程。首先要思考 如果用一个for循环,那么应该表示 滑动窗口的起始位置,还是终止位置。如果只用一个for循环来表示 滑动窗口的起始位置,那么如何遍历剩下的终止位置?所以 只用一个for循环,那么这个循环的索引,一定是表示 滑动窗口的终止位置。

2024-05-04 10:46:02 219

原创 数组-977有序数组的平方

给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。定义一个新数组result,和A数组一样的大小,让k指向result数组终止位置。那么数组平方的最大值就在数组的两端,不是最左边就是最右边,不可能是中间。数组其实是有序的, 只不过负数平方之后可能成为最大数了。此时可以考虑双指针法了,i指向起始位置,j指向终止位置。

2024-05-03 19:17:40 105

原创 数组-27. 移除元素

示例 1: 给定 nums = [3,2,2,3], val = 3, 函数应该返回新的长度 2, 并且 nums 中的前两个元素均为 2。你不需要考虑数组中超出新长度后面的元素。示例 2: 给定 nums = [0,1,2,2,3,0,4,2], val = 2, 函数应该返回新的长度 5, 并且 nums 中的前五个元素为 0, 1, 3, 0, 4。给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。元素的顺序可以改变。

2024-05-03 09:57:58 40

原创 刷题 数组-二分查找C++

【代码】刷题 数组-二分查找C++

2024-05-02 21:03:47 4

原创 python aes ECB加解密

【代码】python aes ECB加解密。

2023-11-07 11:22:50 267

原创 01背包-- 最大报酬|工作安排

小明每周上班都会拿到自己的工作清单,工作清单内包含 n 项工作,每项工作都有对应的耗时时间(单位 h)和报酬,工作的总报酬为所有已完成工作的报酬之和,那么请你帮小明安排一下工作,保证小明在指定的工作时间内工作收入最大化。属于01背包,所以定义dp[i][j]代表处理前i项工作在j的时间段内可获取的最大报酬。t 代表该工作消耗的时长(单位 h, t > 0),w 代表该项工作的报酬。T 代表工作时长(单位 h, 0 < T < 1000000),输出小明指定工作时长内工作可获得的最大报酬。

2023-09-14 15:37:11 186

原创 背包问题---怎么选取物品,可以使得背包装的物品价值最大?

思路:对于每件物品,由于是不可分割的放入,所以,就有两种情况:该物品放入背包与该物品不放入背包;②DP[k][w]=max(DP[k-1][w],DP[k-1][w-wi]),当第k件物品的重量不大于w时。问怎么选取物品,可以使得背包装的物品价值最大?问怎么选取物品,可以使得背包装的物品价值最大?那么,状态确定好了,上面所描述的题目中,只要求出DP[4][8]就可以了。①DP[k][w]=DP[k-1][w],当第k件物品的重量大于w时。DP[k][w]怎么求呢,这就是。1)0-1背包问题的描述。

2023-09-14 14:21:38 319

原创 华为OD机试 - 滑动窗口最大和

滑动窗口的经典题型,重复题目。

2023-09-09 15:46:48 249

原创 字符串子序列II

给定字符串 target和 source,判断 target是否为 source 的子序列。字符串 source 可能会很长(长度~=500,000),而 target是个短字符串(长度

2023-09-09 15:03:42 172

原创 阿里巴巴找黄金宝箱(V)--滑动窗口

一贫如洗的樵夫阿里巴巴在去砍柴的路上,无意中发现了强盗集团的藏宝地,藏宝地有编号从0~N的箱子,每个箱子上面贴有一个数字。阿里巴巴念出一个咒语数字k(k=1,=-10000,

2023-09-09 00:53:31 188

原创 哈希表-救赎金

【代码】哈希-救赎金。

2023-09-04 16:20:23 190

原创 字符串子序列II

给定字符串 target和 source,判断 target是否为 source 的子序列。字符串 source 可能会很长(长度~=500,000),而 target是个短字符串(长度<=100)。字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串。(例如,”abc”是”aebycd”的一个子序列,而”ayb”不是)。第二行为source,长字符串(长度 ~= 500,000)最后一个子序列的起始位置,即最后一个子序列首字母的下标。

2023-09-04 00:36:28 69

原创 分苹果-异或

有A,B两个同学想要分苹果。A的想法是使用二进制进行,1 + 1相加不进一位,如(9 + 5 = 1001 +101 = 12)。B同学的想法是使用十进制进行,并且进一位。会输入两组数据,一组是苹果总数,一组分别是每个苹果的重量。如果让B同学在满足A同学的情况下获取到苹果的总重量且返回,如果不能则返回-1。备注:按照A同学的想法 5 + 6 = 3 (101 + 110 = 010)思路:异或运算,排序取最大。

2023-09-04 00:16:55 44

原创 补种胡杨树-滑动窗体

N 总种植数量 1<=N<=100000 M 未成活胡杨数量 1<=M<=N M 个空格分隔的数,按编号从小到大排列 K 最多可以补种的数量 0<=K<=M。某沙漠新种植N棵胡杨(编号1-N),排成一排。一个月后,有M棵胡杨未能成活。现可补种胡杨K棵,请问如何补种(只能补种,不能新种),可以得到最多的连续胡杨树?标题:补种未成活胡杨 | 时间限制:1秒 | 内存限制:262144K。补种第7棵树,最多的连续胡杨棵树为6(5,6,7,8,9,10)补种到2或4结果一样,最多的连续胡杨棵树都是3。

2023-09-04 00:15:32 293

原创 dfs之深度遍历--岛屿数量

岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。1.通过字符二维数组,从左上到右下,找到第一个'1'出现的位置。(水)组成的的二维网格,请你计算网格中岛屿的数量。2.通过该位置,进行深度搜索,将相邻的1清零。此外,你可以假设该网格的四条边均被水包围。

2023-08-23 14:18:30 75

原创 dfs之单词搜索

链接:https://leetcode.cn/problems/word-search/solutions/1312399/dan-ci-sou-suo-cyu-yan-xiang-jie-chao-ji-rvqm/单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。遍历条件:按照当前位置的上下左右4个方向进行遍历,flag的的值为0,且下一个字母与word匹配,执行条件:将flag对应的row,col位置值1,表示已经走过该坐标。作者:我自横刀向天笑。

2023-08-23 10:03:02 83

原创 dfs之有重复字符串的排列组合

考古问题,假设以前的石碑被打碎成了很多块,每块上面都有一个或若干个字符,请你写个程序来把之前石碑上文字可能的组合全部写出来,按升序进行排列。输入输出示例仅供调试,后台判题数据一般不包含示例。输入输出示例仅供调试,后台判题数据一般不包含示例。

2023-08-22 10:55:11 95

原创 华为OD机考--【磁盘容量排序】

请对它们按从小到大的顺序进行稳定排序,例如给定5块盘的容量,1T,20M,3G,10G6T,3M12G9M排序后的结果为20M,3G,3M12G9M,1T,10G6T。磁盘的容量单位常用的有M,G,T这三个等级,它们之间的换算关系为1T = 1024G,1G = 1024M,现在给定n块磁盘的容量,由一个或多个格式为mv的子串组成,其中m表示容量大小,v表示容量单位,例如20M,1T,30G,10G6T,3M12G9M。1G和1024M容量相等,稳定排序要求保留它们原来的相对位置,故1G在1024M之前。

2023-08-03 21:59:13 1506

原创 数据结构之哈希表-----石头与宝石

LeetCodehttps://leetcode-cn.com/problems/jewels-and-stones/给定字符串J代表石头中宝石的类型,和字符串S代表你拥有的石头。S中每个字符代表了一种你拥有的石头的类型,你想知道你拥有的石头中有多少是宝石。J中的字母不重复,J和S中的所有字符都是字母。字母区分大小写,因此"a"和"A"是不同类型的石头。示例 1:输入: J = "aA", S = "aAAbbbb"输出: 3示例 2:输入: J = "z", S...

2021-10-28 20:37:40 900 1

原创 题目73 统计字母出现次数从大到小排序(ok)

给出一个只包含字母的字符串,不包含空格,统计字符串中各个子字母(区分大小写)出现的次数,并按照字母出现次数从大到小的顺序输出各个字母及其出现次数如果次数相同,按照自然顺序排序,且小写字母在大写字母之前输入描述:输入一行仅包含字母的字符串输出描述:按照字母出现次数从大到小的顺序输出各个字母和字母次数,用英文分号分割,注意末尾的分号字母和次数中间用英文冒号分隔示例:输入: xyxyXX输出:x:2;y:2;X:2;说明:每个字符出现的次数为2 故x排在y之前而小写字母x在大写

2021-10-20 23:05:00 4455

原创 题目72 好朋友的位置(ok)

输入描述:第一行输入N:N表示有N个小朋友第二行输入N个小朋友的身高height[i],都是整数输出描述:输出N个小朋友的好朋友的位置示例一:输入:2100 95输出:0 0说明:第一个小朋友身高100,站在队尾位置,向队首看,没有比他身高高的小朋友,所以输出第一个值为0.第二个小朋友站在队首,前面也没有比他身高高的小朋友,所以输出第二个值为0.示例二:输入8123 124 125 121 119 122 126 123输出1 2 6 5 5 6 0 0说

2021-10-20 23:02:34 1889

原创 题目69 相同字母消除法(ok)

游戏规则:输入一个只包含英文字母的字符串,字符串中的俩个字母如果相邻且相同,就可以消除。在字符串上反复执行消除的动作,直到无法继续消除为止,此时游戏结束。输出最终得到的字符串长度。输出:原始字符串str只能包含大小写英文字母,字母的大小写敏感,长度不超过100,输出游戏结束后字符串的长度备注:输入中包含非大小写英文字母是均为异常输入,直接返回0。事例:mMbccbc输出为3...

2021-10-20 22:46:37 3427

原创 题目68 求随机整书数组中两个数和绝对值最小值(ok)

给定一个随机的整数数组(可能存在正整数和负整数)nums,请你在该数组中找出两个数,其和的绝对值(|nums[x]+nums[y]|)为最小值并返回这两个数(按从小到大返回)以及绝对值。每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。输入描述:一个通过空格空格分割的有序整数序列字符串,最多1000个整数,且整数数值范围是[-65535,65535]输出描述:两个数和两数之和绝对值示例一:输入-1 -3 7 5 11 15输出-3 5 2说明:因为|nums

2021-10-20 22:44:26 3826 1

原创 题目66 取最长元音字符串(ok)

定义当一个字符串只有元音字母(a,e,i,o,u,A,E,I,O,U)组成,称为元音字符串,现给定一个字符串,请找出其中最长的元音字符串,并返回其长度,如果找不到请返回0,字符串中任意一个连续字符组成的子序列称为该字符串的子串输入描述: 一个字符串其长度 0<length ,字符串仅由字符a-z或A-Z组成输出描述: 一个整数,表示最长的元音字符子串的长度示例1: 输入 asdbuiodevauufgh 输出 3 说明: 最长的元音字符子串为...

2021-10-20 16:49:44 1924

原创 题目65 ASCII最小位置索引(ok)

输入一个由N个大小写字母组成的字符串按照ASCII码值从小到大进行排序查找字符串中第K个最小ASCII码值的字母(k>=1)输出该字母所在字符串中的位置索引(字符串的第一个位置索引为0)k如果大于字符串长度则输出最大ASCII码值的字母所在字符串的位置索引如果有重复字母则输出字母的最小位置索引输入描述第一行输入一个由大小写字母组成的字符串第二行输入k k必须大于0 k可以大于输入字符串的长度输出描述输出字符串中第k个最小ASCII码值的字母所在字符串的位置索引k如果大于字符串

2021-10-20 16:46:23 1809

原创 题目64 求机器绘图面积(ok)

绘图机器的绘图笔初始位置在原点(0,0)机器启动后按照以下规则来进行绘制直线1. 尝试沿着横线坐标正向绘制直线直到给定的终点E2. 期间可以通过指令在纵坐标轴方向进行偏移offsetY为正数表示正向偏移,为负数表示负向偏移给定的横坐标终点值E 以及若干条绘制指令请计算绘制的直线和横坐标轴以及x=E的直线组成的图形面积输入描述:首行为两个整数N 和 E表示有N条指令,机器运行的横坐标终点值E接下来N行 每行两个整数表示一条绘制指令x offsetY用例保证横坐标x以递增排序的方式出.

2021-10-20 16:43:59 1645

原创 题目63 字符集统计(ok)

给定两个字符集合一个是全量字符集一个是已占用字符集已占用字符集中的字符不能再使用要求输出剩余可用字符集输入描述1. 输入一个字符串 一定包含@@前为全量字符集 @后的为已占用字符集2. 已占用字符集中的字符一定是全量字符集中的字符字符集中的字符跟字符之间使用英文逗号隔开3. 每个字符都表示为字符+数字的形式用英文冒号分隔比如a:1标识一个a字符4. 字符只考虑英文字母,区分大小写数字只考虑正整型 不超过1005. 如果一个字符都没被占用 @标识仍存在例如 a:3,b:5.

2021-10-19 10:05:47 894 1

原创 题目62 简易压缩算法

有一种简易压缩算法:针对全部为小写英文字母组成的字符串,将其中连续超过两个相同字母的部分压缩为连续个数加该字母其他部分保持原样不变.例如字符串aaabbccccd 经过压缩变成字符串 3abb4cd请您编写解压函数,根据输入的字符串,判断其是否为合法压缩过的字符串若输入合法则输出解压缩后的字符串否则输出字符串"!error"来报告错误输入描述输入一行,为一个ASCII字符串长度不超过100字符用例保证输出的字符串长度也不会超过100字符串输出描述若判断输入为合法的经过压缩后的.

2021-10-19 10:04:53 1659

rsync服务器搭建及使用说明

rsync服务搭建源码,包括启动脚本,使用说明文件,安装路径和其他。 如果需要搭建rsync环境的可以使用下载使用。谢谢!

2018-08-16

空空如也

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

TA关注的人

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