自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 10道C++ STL高频面试题[31-40](附带完整参考答案)

泛型编程是一种编程范式,它强调在算法中使用抽象而非具体的数据类型。在C++中,这主要通过模板实现,允许代码对不同的数据类型进行操作,而不需要针对每种数据类型编写专门的代码。模板类和函数:STL大量使用模板类和函数。例如,STL容器(如vector<T>list<T>)和算法(如sort()find())都是模板,可以处理任何类型的数据。这种方式让STL具有很高的灵活性和可重用性。例如,你可以使用相同的vector类来存储intstring或任何自定义类型的对象,无需为每种类型重写容器代码。

2024-06-03 15:24:19 990

原创 LeetCode 26. 删除有序数组中的重复项

解释:函数应该返回新的长度 5 , 并且原数组 nums 的前五个元素被修改为 0, 1, 2, 3, 4。不需要考虑数组中超出新长度后面的元素。,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。解释:函数应该返回新的长度 2 ,并且原数组 nums 的前两个元素被修改为 1, 2。不需要考虑数组中超出新长度后面的元素。输入:nums = [0,0,1,1,1,2,2,3,3,4]输出:5, nums = [0,1,2,3,4]输出:2, nums = [1,2,_]

2024-06-03 13:40:37 496

原创 LeetCode 25. K 个一组翻转链表

是一个正整数,它的值小于或等于链表的长度。你不能只是单纯的改变节点内部的值,而是需要实际进行节点交换。输入:head = [1,2,3,4,5], k = 2。输入:head = [1,2,3,4,5], k = 3。的整数倍,那么请将最后剩余的节点保持原有顺序。个节点一组进行翻转,请你返回修改后的链表。输出:[2,1,4,3,5]输出:[3,2,1,4,5]仅遍历一遍所有结点,所以是。仅使用常数的额外空间。

2024-06-03 12:54:06 326

原创 10道C++ STL高频面试题[21-30](附带完整参考答案)

RAII(Resource Acquisition Is Initialization,资源获取即初始化)原则是C++中的一种编程理念,旨在通过对象生命周期管理资源,如内存、文件句柄、网络连接等。这个原则的核心思想是,资源的分配(获取)应该在对象的构造函数中完成,而资源的释放(释放)应该在对象的析构函数中完成。智能指针:如和。这些智能指针在构造时获取资源(例如分配内存),在其析构时自动释放资源。这简化了资源管理,防止了内存泄漏。容器:STL容器(如std::map等)也遵循RAII原则。

2024-05-15 00:10:33 936

原创 10道C++ STL高频面试题[11-20](附带完整参考答案)

迭代器是 C++ 标准模板库(STL)中的一个重要概念。简单来说,迭代器就像是一个指针,用于访问和遍历容器中的元素(比如数组、链表、集合等)。迭代器提供了一种统一的方法来访问容器中的元素,而不需要关心容器的具体类型。遍历容器: 通过迭代器可以遍历容器中的所有元素。例如,使用begin()和end()方法获取容器的起始和结束迭代器,然后通过循环来访问每个元素。访问元素: 可以通过迭代器读取或修改容器中的元素。连接算法与容器: STL 中的很多算法(如排序、查找等)都是通过迭代器来操作容器的。

2024-05-14 23:27:28 1144 2

原创 LeetCode 24. 两两交换链表中的节点

给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。时间复杂度:仅遍历一遍所有结点,所以时间复杂度为。输入:head = [1,2,3,4]两两交换 = 两个为一组互相交换。输入:head = [1]输出:[2,1,4,3]输入:head = []

2024-05-14 23:24:20 506

原创 LeetCode 23. 合并 K 个升序链表

通过双路归并合并两个有序链表,但是这题要求对多个链表进行并操作。其实和双路归并思路类似,分别用指针指向该链表的头节点,每次找到这些指针中值最小的节点,然后依次连接起来,并不断向后移动指针。输入:lists = [[1,4,5],[1,3,4],[2,6]]请你将所有链表合并到一个升序链表中,返回合并后的链表。给你一个链表数组,每个链表都已经按升序排列。输出:[1,1,2,3,4,4,5,6]个链表的头节点都加入优先队列中。输入:lists = [[]]个指针中元素值最小的指针);表示的是所有链表的总长度,

2024-05-14 23:17:22 360

原创 10道C++ STL高频面试题[1-10](附带完整参考答案)

这个系列我们主要来复习C++ STL相关的基础面试题,这些是C++基础面试中经常会问到的一些基础知识,每个问题我都整理了完整的参考答案,希望对各位面试和学习有所帮助。

2024-05-13 00:16:26 2250

原创 LeetCode 22. 括号生成

用二进制数表示每一种情况,某一位为 1 表示放左括号,为 0 表示放右括号,对每一种情况进行分析是否为合法的括号序列。输出:[“((()))”,“(()())”,“(())()”,“()(())”,“()()()”]数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。个位置任意放左括号或者右括号有。复杂度:时间复杂度为。

2024-05-12 23:55:21 169

原创 LeetCode 21. 合并两个有序链表

将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。输入:l1 = [1,2,4], l2 = [1,3,4]分别表示两个链表的长度,所以总的时间复杂度为。输入:l1 = [], l2 = [0]输入:l1 = [], l2 = []输出:[1,1,2,3,4,4]

2024-05-12 23:44:51 745

原创 LeetCode 20. 有效的括号

给定一个只包括 ‘(’,‘)’,‘{’,‘}’,‘[’,‘]’ 的字符串 s ,判断字符串是否有效。时间复杂度:只需要遍历一次整个序列,所以总的时间复杂度为。3.每个右括号都有一个对应的相同类型的左括号。1.左括号必须用相同类型的右括号闭合。2.左括号必须以正确的顺序闭合。输入:s = “()[]{}”输入:s = “()”输入:s = “(]”

2024-05-12 23:38:08 471

原创 LeetCode 19. 删除链表的倒数第 N 个结点

3、这样找到了删除结点的前一个结点,让前一个结点指向删除结点的后一个结点即可。给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。输入:head = [1,2,3,4,5], n = 2。时间复杂度:只遍历一次链表,所以总的时间复杂度为。输入:head = [1,2], n = 1。输入:head = [1], n = 1。输出:[1,2,3,5]指针同时向后走,直到。

2024-05-09 23:26:39 550 1

原创 LeetCode 18. 四数之和

给你一个由 n 个整数组成的数组 nums ,和一个目标值 target。输出:[[-2,-1,1,2],[-2,0,0,2],[-1,0,0,1]]输入:nums = [1,0,-1,0,-2,2], target = 0。输入:nums = [2,2,2,2,2], target = 8。时间复杂度:总的时间复杂度为。输出:[[2,2,2,2]]

2024-05-09 23:16:58 333 1

原创 LeetCode 17. 电话号码的字母组合

输出:[“ad”,“ae”,“af”,“bd”,“be”,“bf”,“cd”,“ce”,“cf”]给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。时间复杂度:一个数字最多有 4 种情况,假设有 n 个数字,因此 4。种情况是一个上限,因此时间复杂度是。输入:digits = “23”输出:[“a”,“b”,“c”]输入:digits = “2”输入:digits = “”

2024-05-08 13:00:00 385 1

原创 LeetCode 16.最接近的三数之和

解释:与 target 最接近的和是 2 (-1 + 2 + 1 = 2)。输入:nums = [-1,2,1,-4], target = 1。输入:nums = [0,0,0], target = 1。中选出三个整数,使它们的和与。假定每组输入只存在恰好一个解。时间复杂度:总的时间复杂度为。

2024-05-08 12:30:00 658 1

原创 Leetcode 15.三数之和

不同的三元组是 [-1,0,1] 和 [-1,-1,2]。输入:nums = [-1,0,1,2,-1,-4]输出:[[-1,-1,2],[-1,0,1]]注意,输出的顺序和三元组的顺序并不重要。你返回所有和为 0 且不重复的三元组。解释:唯一可能的三元组和不为 0。输入:nums = [0,1,1]输入:nums = [0,0,0]解释:唯一可能的三元组和为 0。:答案中不可以包含重复的三元组。,所以总的时间复杂度为。输出:[[0,0,0]]使用 C++ 中的集合。,枚举的时间复杂的是。

2024-05-08 00:02:52 1684 1

原创 Leetcode 14.最长公共前缀

时间复杂度:最坏情况下,对于 n 个字符串,都需要遍历到最短长度,故总时间复杂度为。输入:strs = [“flower”,“flow”,“flight”]输入:strs = [“dog”,“racecar”,“car”]空间复杂度:需要额外 O(m) 的空间存储答案。编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 “”。解释:输入不存在公共前缀。

2024-05-07 23:53:18 282 1

原创 Leetcode 13.罗马数字转整数

数字 1 在数字 5 的左边,所表示的数等于大数 5 减小数 1 得到的数值 4。C 可以放在 D (500) 和 M (1000) 的左边,来表示 400 和 900。X 可以放在 L (50) 和 C (100) 的左边,来表示 40 和 90。解释: M = 1000, CM = 900, XC = 90, IV = 4.I 可以放在 V (5) 和 X (10) 的左边,来表示 4 和 9。罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。输入: s = “IV”

2024-05-02 16:29:31 1035 1

原创 golang学习

本人目前主要做C语言底层开发,最近接触到了一部分用Go实现的功能代码,但是之前没有好好研究,所以这个专栏主要用来督促自己学习Go语言,记录一些Go语言学习过程中的一些知识点和问题。当然我也希望能够学到一些Web相关的知识,向全栈靠拢,所以希望看到我文章的同学能够给我一些学习上的指导和意见。

2024-05-01 23:57:35 394

原创 Leetcode 12.整数转罗马数字

个位的 1 2 3 4 5 6 7 8 9 对应的就是 “I”,”II”,”III”,”IV”,”V”,”VI”,”VII”,”VIII”,”IX”十位的 1 2 3 4 5 6 7 8 9 对应的就是 “X”,”XX”,”XXX”,”XL”,”L”,”LX”,”LXX”,”LXXX”,”XC”百位的 1 2 3 4 5 6 7 8 9 对应的就是 “C”,”CC”,”CCC”,”CD”,”D”,”DC”,”DCC”,”DCCC”,”CM”千位的只有 1 2 3 对应 “M”,”MM”,”MMM”

2024-05-01 23:02:34 35

原创 Leetcode 11.盛最多水的容器

于是在收敛的过程中,如果遇到的高度比两端的柱子更低的话,由于之间的宽度更短,所以面积必定更小,我们就可以直接跳过,不予考虑。但是位于最两端的直线不一定是最高的,所以它们组成矩形的面积也就不一定是最大的。为了找到两条直线,使其所围成面积最大,我们可以通过两层暴力循环枚举,找出所有可能的直线的组合,计算其面积,并找到最大值,时间复杂度为。时间复杂度:在双指针向中间收敛的过程中,对数组中的每个元素只访问了一次,所以总的时间复杂度为。指向最两端的直线,此时两条直线之间的距离就是最大的,即我们所求矩形面积的宽度。

2024-04-30 00:26:23 378

原创 Leetcode 10.正则表达式匹配

代表可以匹配零个或多个前面的那一个元素, 在这里前面的元素就是。,每次转移仅需常数时间 ,所以总的时间复杂度为。所谓匹配,是要涵盖 整个 字符串。匹配零个或多个前面的那一个元素。的,而不是部分字符串。,请你来实现一个支持。表示可匹配零个或多个。时间复杂度:状态数为。

2024-04-29 00:17:26 294

原创 Leetcode 9.回文数

一个正整数的字符串表示是回文串,当且仅当它的逆序和它本身相等。但如果直接做,会存在整数溢出的问题,比如1111111119的逆序是9111111111(大于。解释:从左向右读, 为 -121。因此它不是一个回文数。型整数在十进制表示下最多有10位,对于每一位的计算是常数级的,因此总时间复杂度是。所以我们要对其改进:我们只需先算出后一半的逆序值,再判断是否和前一半相等即可。是指正序(从左向右)和倒序(从右向左)读都是一样的整数。解释:从右向左读, 为 01。例如,121 是回文,而 123 不是。

2024-04-28 23:58:32 695

原创 Leetcode 8.字符串转整数

具体来说,小于 −231 的整数应该被固定为 −231 ,大于 231 − 1 的整数应该被固定为 231 − 1。4.将前面步骤读入的这些数字转换为整数(即,“123” -> 123, “0032” -> 32)。第 2 步:“4193 with words”(当前没有读入字符,因为这里不存在 ‘-’ 或者 ‘+’)字符串的其余部分将被忽略。第 1 步:“4193 with words”(当前没有读入字符,因为没有前导空格)第 2 步:“42”(当前没有读入字符,因为这里不存在 ‘-’ 或者 ‘+’)

2024-04-27 00:20:20 578 1

原创 Leetcode 7.整数反转

给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。依次从右往左计算出每位数字,然后逆序累加在一个整数中。位,对于每一位的计算量是常数级的,所以总时间复杂度是。如果反转后整数超过 32 位的有符号整数的范围 [−2。假设环境不允许存储 64 位整数(有符号或无符号)。− 1] ,就返回 0。输入:x = -123。输入:x = 123。输入:x = 120。

2024-04-26 12:32:57 336 1

原创 Leetcode 6.Z字形变换

之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:“PAHNAPLSIIGYIR”。链接:https://www.acwing.com/solution/content/75/输入:s = “PAYPALISHIRING”, numRows = 3。输入:s = “PAYPALISHIRING”, numRows = 4。输入:s = “A”, numRows = 1。时间复杂度:每个字符遍历一遍,所以时间复杂度是。输出:“PAHNAPLSIIGYIR”输出:“PINALSIGYAHRPI”

2024-04-25 21:50:42 407 1

原创 Leetcode 5.最长回文子串

所以我们要做的就是枚举字符串中每个可能的回文字符串的中心,然后以这个中心向外扩展。举例来说,对于“abccba”来说,我们可以枚举“a为中心”,“ab为中心”,“b为中心”,“bc为中心”、“c为中心”、“cc为中心”等等情况。如果回文字符串的长度是奇数的话,那么表示这个回文字符串的中心是有一个单独的字母,这个字母的左右部分是对称的,比如“aba”, “abcba”;就是回文字符串的长度是偶数,表示可以将这个字符串对半分为两部分,这两部分是对称的,比如”aa”、“abba”、“abccba”。

2024-04-25 12:52:48 1571 4

原创 Leetcode4.寻找两个正序数组的中位数

解释:合并数组 = [1,2,3,4] ,中位数 (2 + 3) / 2 = 2.5。个,那么我们就将它们全部取出来,递归时减去的数目应该是剩下数的个数而不是。输入:nums1 = [1,2], nums2 = [3,4]输入:nums1 = [1,3], nums2 = [2]同理我们也可以去掉第一堆的数然后递归的去找第。注意这里在取数的时候可能会出现数量不足的情况,比如。解释:合并数组 = [1,2,3] ,中位数 2。个数,设取到的最后一个数为。个数,设取到的最后一个数为。中去掉然后递归的去找第。

2024-04-24 22:46:19 336

原创 Leetcode 3.无重复字符的最长字串

次,且hash表的插入和更新操作时间复杂度都是。输入: s = “abcabcbb”解释: 因为无重复字符的最长子串是。解释: 因为无重复字符的最长子串是。解释: 因为无重复字符的最长子串是。,请你找出其中不含有重复字符的。可能出现2次,一次不断向后移动。输入: s = “pwwkew”输入: s = “bbbbb”中不存在重复元素时,更新结果。是一个子序列,不是子串。,所以总的时间复杂度为。请注意,你的答案必须是。,表示当前扫描到的子串是。中每个字符出现的次数。,所以其长度为 3。

2024-04-24 13:04:30 400

原创 Leetcode 2.两数相加

给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。从最低位至最高位,逐位相加,如果和大于等于10,则保留个位数字,同时向前一位进1.输入:l1 = [9,9,9,9,9,9,9], l2 = [9,9,9,9]输入:l1 = [2,4,3], l2 = [5,6,4]请你将两个数相加,并以相同形式返回一个表示和的链表。输入:l1 = [0], l2 = [0]输出:[8,9,9,9,0,0,0,1]输出:[7,0,8]

2024-04-23 22:58:39 408

原创 Leetcode 1.两数之和

给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1]。输入:nums = [2,7,11,15], target = 9。时间复杂度:由于只扫描一遍,且哈希表的插入和查询操作的复杂度是。输入:nums = [3,2,4], target = 6。输入:nums = [3,3], target = 6。,则我们循环到 j 时,

2024-04-23 22:46:05 703

基于SSM+jsp的人才招聘网站系统

大学生毕业设计、大学生课程设计作业

2024-05-17

基于SSM+jsp的汽车养护管理系统

大学生毕业设计、大学生课程设计作业

2024-05-17

基于SSM+jsp的汽车配件销售业绩管理系统

大学生毕业设计、大学生课程设计作业

2024-05-17

基于SSM+jsp的汽车客运站管理系统

大学生毕业设计、大学生课程设计作业

2024-05-14

基于SSM+jsp的简易版营业厅宽带系统

大学生毕业设计、大学生课程设计作业

2024-05-14

基于SSM+jsp的精品酒销售管理系统

大学生毕业设计、大学生课程设计作业

2024-05-14

基于SSM+jsp的家居商城系统

大学生毕业设计、大学生课程设计作业

2024-05-14

基于SpringBoot网上超市管理系统

大学生毕业设计、大学生课程设计作业

2024-05-14

基于Springboot的足球青训俱乐部管理系统

大学生毕业设计、大学生课程设计作业

2024-05-14

基于SpringBoot的智能推荐卫生健康系统

大学生毕业设计、大学生课程设计作业

2024-05-14

基于Springboot的智能物流管理系统

大学生毕业设计、大学生课程设计作业

2024-05-14

基于Springboot的在线拍卖系统

大学生毕业设计、大学生课程设计作业

2024-05-14

基于Springboot的月度员工绩效考核管理系统

大学生毕业设计、大学生课程设计作业

2024-05-14

基于Springboot的医护人员排班系统

大学生毕业设计、大学生课程设计作业

2024-05-12

基于SpringBoot的学生心理咨询评估平台

大学生毕业设计、大学生课程设计作业

2024-05-12

基于SpringBoot的网页时装购物系统

大学生毕业设计、大学生课程设计作业

2024-05-12

基于Springboot的网上订餐系统

大学生毕业设计、大学生课程设计作业

2024-05-09

基于Springboot的图书个性化推荐系统

大学生毕业设计、大学生课程设计作业

2024-05-09

基于Springboot的大创管理系统

大学生毕业设计、大学生课程设计作业

2024-05-09

基于Springboot的大学生就业招聘系统

大学生毕业设计、大学生课程设计作业

2024-05-08

基于Springboot的咖啡宠物平台管理系统

大学生毕业设计、大学生课程设计作业

2024-05-08

基于Springboot的车辆管理系统

大学生毕业设计、大学生课程设计作业

2024-05-08

基于Springboot的房屋租赁系统

大学生毕业设计、大学生课程设计作业

2024-05-06

基于Springboot的毕业生实习与就业管理系统

大学生毕业设计、大学生课程设计作业

2024-05-06

基于Springboot的IT技术交流和分享平台

大学生毕业设计、大学生课程设计作业

2024-05-06

基于SSM+VUE的少儿编程网上报名系统

大学生毕业设计、大学生课程设计作业

2024-05-01

基于微信小程序的消防隐患在线举报系统开发

大学生毕业设计、大学生课程设计作业

2024-05-01

基于微信小程序的云上考试系统

大学生毕业设计、大学生课程设计作业

2024-05-01

基于微信小程序的在线投稿系统

大学生毕业设计、大学生课程设计作业

2024-04-30

基于微信小程序的预约挂号系统

大学生毕业设计、大学生课程设计作业

2024-04-29

基于微信小程序的校园综合服务小程序

大学生毕业设计、大学生课程设计作业

2024-04-29

基于微信小程序的学习自律养成小程序

大学生毕业设计、大学生课程设计作业

2024-04-28

基于微信小程序的助农扶贫小程序

大学生毕业设计、大学生课程设计作业

2024-04-28

基于微信小程序的专利服务系统

大学生毕业设计、大学生课程设计

2024-04-28

基于微信小程序的校园二手交易平台小程序

微信小程序、校园二手交易平台、大学生毕业设计、大学生课程设计、课程设计作业

2024-04-27

基于微信小程序的小说阅读器

大学生毕业设计、大学生课程设计、课程设计作业、小说、小说阅读器、微信小程序

2024-04-27

基于微信小程序的原创音乐小程序

大学生毕业设计、课程设计作业、微信小程序、音乐、音乐小程序

2024-04-27

微信小程序版医院智能管理系统 医院微信小程序管理系统精品版 微信小程序医院管理一体化解决方案 微信小程序助力医院高效管理

基于微信小程序的医院管理系统介绍: 在这个快节奏的数字化时代,医院管理也需要与时俱进,拥抱创新。我们荣幸地为您推出这款基于微信小程序的医院管理系统,让您轻松实现医院业务的智能化管理。 本系统结合微信小程序的便捷性和医院管理的实际需求,提供一站式解决方案。无论是患者信息管理、医生排班、药品库存,还是预约挂号、费用结算等功能,都可通过微信小程序轻松完成。患者和医护人员只需通过微信扫描二维码或搜索小程序,即可随时随地访问系统,极大地提高了工作效率和用户体验。 我们深知医院管理的复杂性和敏感性,因此本系统特别注重数据安全和隐私保护。采用先进的加密技术和严格的数据访问控制,确保患者和医院的信息安全无虞。 此外,本系统还具备高度的可扩展性和定制性,可根据不同医院的需求进行个性化配置和功能扩展。我们提供完善的技术支持和售后服务,确保您在使用过程中无后顾之忧。 如果您正在寻找一款高效、便捷、安全的医院管理系统,那么这款微信小程序版医院智能管理系统将是您的最佳选择。快来下载体验吧,让医院管理变得更加轻松高效!

2024-04-26

基于微信小程序的优购电商小程序

大学生毕业设计、课程设计作业

2024-04-26

基于微信小程序的英语学习交流平台小程序

大学生毕业设计、课程设计作业

2024-04-26

空空如也

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

TA关注的人

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