- 博客(31)
- 收藏
- 关注
原创 C语言编程--24.找出字符串中的第一个匹配项的下标
给你两个字符串 haystack 和 needle ,请你在 haystack 字符串中找出 needle 字符串的第一个匹配项的下标(下标从 0 开始)。如果 needle 不是 haystack 的一部分,则返回 -1。输入:haystack = “sadbutsad”, needle = “sad”输出:0解释:“sad” 在下标 0 和 6 处匹配。第一个匹配项的下标是 0 ,所以返回 0。输入:haystack = “leetcode”, needle = “leeto”
2025-08-20 17:47:42
208
原创 C语言编程--23.移除元素
给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素。元素的顺序可能发生改变。然后返回 nums 中与 val 不同的元素的数量。假设 nums 中不等于 val 的元素数量为 k,要通过此题,您需要执行以下操作:更改 nums 数组,使 nums 的前 k 个元素包含不等于 val 的元素。nums 的其余元素和 nums 的大小并不重要。返回 k。输入:nums = [3,2,2,3], val = 3输出:2, nums = [2,2,
2025-08-20 16:57:46
260
原创 C语言编程--22.删除有序数组中的重复元素
给你一个的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。元素的 相对顺序 应该保持 一致。然后返回 nums 中唯一元素的个数。考虑,你需要做以下事情确保你的题解可以被通过:更改数组 nums ,使 nums 的前 k 个元素包含唯一元素,并按照它们最初在 nums 中出现的顺序排列。nums 的其余元素与 nums 的大小不重要。返回 k。输入:nums = [1,1,2]输出:2, nums = [1,2,_]
2025-05-30 16:41:25
221
原创 C语言编程--21.两两交换链表中的结点
给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。输入:head = [1,2,3,4]输出:[2,1,4,3]输入:head = []输出:[]输入:head = [1]输出:[1]链表中节点的数目在范围 [0, 100] 内。
2025-05-30 16:03:55
222
原创 C语言编程--20.合并K个升序列表
给你一个链表数组,每个链表都已经按升序排列。请你将所有链表合并到一个升序链表中,返回合并后的链表。输入:lists = [[1,4,5],[1,3,4],[2,6]]输出:[1,1,2,3,4,4,5,6]解释:链表数组如下:1->4->5,1->3->4,2->6将它们合并到一个有序链表中得到。输入:lists = []输出:[]输入:lists = [[]]输出:[]lists[i] 按 升序 排列。
2025-05-29 23:18:15
339
原创 C语言编程--19.括号生成
数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。示例 1:输入:n = 3输出:[“((()))”,“(()())”,“(())()”,“()(())”,“()()()”]示例 2:输入:n = 1输出:[“()”]
2025-05-09 18:10:56
472
原创 C语言编程--18.合并两个有序链表
将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。输入:l1 = [1,2,4], l2 = [1,3,4]输出:[1,1,2,3,4,4]输入:l1 = [], l2 = []输出:[]输入:l1 = [], l2 = [0]输出:[0]两个链表的节点数目范围是 [0, 50]l1 和 l2 均按 非递减顺序 排列。
2025-05-09 14:04:28
246
原创 C语言编程--17.有效的括号
给定一个只包括 ‘(’,‘)’,‘{’,‘}’,‘[’,‘]’ 的字符串 s ,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。每个右括号都有一个对应的相同类型的左括号。输入:s = “()”输出:true输入:s = “()[]{}”输出:true输入:s = “(]”输出:false输入:s = “([])”输出:trues 仅由括号 ‘()[]{}’ 组成。
2025-04-25 17:24:40
219
原创 C语言编程--16.删除链表的倒数第n个节点
给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。输入:head = [1,2,3,4,5], n = 2输出:[1,2,3,5]输入:head = [1], n = 1输出:[]输入:head = [1,2], n = 1输出:[1]链表中结点的数目为 sz。
2025-04-24 23:29:03
276
原创 C语言编程--15.四数之和
给你一个由 n 个整数组成的数组 nums ,和一个目标值 target。输入:nums = [1,0,-1,0,-2,2], target = 0输出:[[-2,-1,1,2],[-2,0,0,2],[-1,0,0,1]]输入:nums = [2,2,2,2,2], target = 8输出:[[2,2,2,2]]
2025-04-24 22:24:12
638
原创 C语言编程--14.电话号码的字母组合
给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。输入:digits = “23”输出:[“ad”,“ae”,“af”,“bd”,“be”,“bf”,“cd”,“ce”,“cf”]输入:digits = “”输出:[]输入:digits = “2”输出:[“a”,“b”,“c”]digits[i] 是范围 [‘2’, ‘9’] 的一个数字。
2025-04-23 22:44:58
447
原创 C语言编程--13.最接近的三数之和
给你一个长度为 n 的整数数组 nums 和 一个目标值 target。请你从 nums 中选出三个整数,使它们的和与 target 最接近。返回这三个数的和。假定每组输入只存在恰好一个解。输入:nums = [-1,2,1,-4], target = 1输出:2解释:与 target 最接近的和是 2 (-1 + 2 + 1 = 2)。输入:nums = [0,0,0], target = 1输出:0解释:与 target 最接近的和是 0(0 + 0 + 0 = 0)。
2025-04-07 16:19:37
179
原创 C语言编程--12.三数之和
给你一个整数数组 nums ,判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i!= j、i!= k 且 j!= k ,同时还满足。请你返回所有和为 0 且不重复的三元组。输入:nums = [-1,0,1,2,-1,-4]输出:[[-1,-1,2],[-1,0,1]]解释:不同的三元组是 [-1,0,1] 和 [-1,-1,2]。注意,输出的顺序和三元组的顺序并不重要。输入:nums = [0,1,1]输出:[]
2025-04-04 20:56:09
1701
原创 C语言编程--11.最长公共前缀
编写一个函数来查找字符串数组中的最长公共前缀。输入:strs = [“flower”,“flow”,“flight”]输出:“fl”输入:strs = [“dog”,“racecar”,“car”]输出:“”解释:输入不存在公共前缀。strs[i] 如果非空,则仅由小写英文字母组成。
2025-04-04 19:17:13
198
原创 C语言编程--10.整数转罗马数字
七个不同的符号代表罗马数字,其值如下:符号 值I 1V 5X 10L 50C 100D 500M 1000罗马数字是通过添加从最高到最低的小数位值的转换而形成的。将小数位值转换为罗马数字有给定一个整数,将其转换为罗马数字。输入:num = 3749输出: “MMMDCCXLIX”解释:3000 = MMM 由于 1000 (M) + 1000 (M) + 1000 (M)700 = DCC 由于 500 (D) + 100 © + 100 ©。
2025-04-01 21:53:41
318
原创 C语言编程--9.盛最多水的容器
给定一个长度为 n 的整数数组 height。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i])找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。返回容器可以储存的最大水量。输入:[1,8,6,2,5,4,8,3,7]输出:49解释:图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(表示为蓝色部分)的最大值为 49。输入:height = [1,1]输出:1。
2025-04-01 17:12:15
272
原创 C语言编程--8.正则表达式匹配
给你一个字符串 s 和一个字符规律 p,请你来实现一个支持 ‘.’ 和 '的正则表达式匹配。‘.’ 匹配任意单个字符‘*’ 匹配零个或多个前面的那一个元素所谓匹配,是要涵盖 整个 字符串 s 的,。输入:s = “aa”, p = “a”输出:false解释:“a” 无法匹配 “aa” 整个字符串。输入:s = “aa”, p = “a*”输出:true解释:因为 ‘*’ 代表可以匹配零个或多个前面的那一个元素, 在这里前面的元素就是 ‘a’。
2025-03-31 23:22:44
572
原创 C语言编程--7.罗马数字转整数
罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。例如, 罗马数字 2 写做 II ,即为两个并列的 1。12 写做 XII ,即为 X + II。27 写做 XXVII, 即为 XX + V + II。通常情况下,罗马数字中小的数字在大的数字的右边。但也存在,例如 4 不写做 IIII,而是 IV。数字 1 在数字 5 的左边,所表示的数等于大数 5 减小数 1 得到的数值 4。同样地,数字 9 表示为 IX。给定一个罗马数字,将其转换成整数。
2025-03-31 21:20:58
1590
原创 【C语言编程--6.回文数】
给你一个整数 x ,如果 x 是一个回文整数,返回 true;否则,返回 false。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。例如,121 是回文,而 123 不是。输入:x = 121输出:true输入:x = -121输出:false解释:从左向右读, 为 -121。从右向左读, 为 121-。因此它不是一个回文数。输入:x = 10输出:false解释:从右向左读, 为 01。因此它不是一个回文数。
2025-03-31 18:18:57
317
原创 【C语言编程--5字符串转换整数(atoi)】
请你来实现一个 myAtoi(string s) 函数,使其能将字符串转换成一个 32 位有符号整数。输入:s = “42”输出:42解释:第 1 步:“42”(当前没有读入字符,因为没有前导空格)第 2 步:“42”(当前没有读入字符,因为这里不存在 ‘-’ 或者 ‘+’)第 3 步:“42”(读入 “42”)输入:s = " -042"输出:-42解释:第 1 步:" -042"(读入前导空格,但忽视掉)
2025-03-31 16:50:02
276
原创 【C语言编程--4整数反转】
给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。如果反转后整数超过 32 位的有符号整数的范围 [−2^31, 2^31 − 1] ,就返回 0。假设环境不允许存储 64 位整数(有符号或无符号)。输入:x = 123输出:321输入:x = -123输出:-321输入:x = 120输出:21输入:x = 0输出:0。
2025-03-28 23:26:29
398
原创 C语言编程--3.Z 字形变换
将一个给定字符串 s 根据给定的行数 numRows ,以从上往下、从左到右进行 Z 字形排列。比如输入字符串为 “PAYPALISHIRING” 行数为 3 时,Z 字形排列之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:“PAHNAPLSIIGYIR”。请你实现这个将字符串进行指定行数变换的函数:输入:s = “PAYPALISHIRING”, numRows = 3输出:“PAHNAPLSIIGYIR”
2025-03-28 15:27:10
712
原创 C语言编程--2.最长回文子串
给你一个字符串 s,找到 s 中最长的 回文 子串。输入:s = “babad”输出:“bab”解释:“aba” 同样是符合题意的答案。输入:s = “cbbd”输出:“bb”
2025-03-26 16:29:17
294
原创 C语言编程--1.“无重复字符的最长子串”
给定一个字符串 s ,请你找出其中不含有重复字符的 最长 子串 的长度。输入: s = “abcabcbb”输出: 3解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。输入: s = “bbbbb”输出: 1解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。输入: s = “pwwkew”输出: 3解释: 因为无重复字符的最长子串是 “wke”,所以其长度为 3。请注意,你的答案必须是 子串 的长度,“pwke” 是一个子序列,不是子串。
2025-03-25 22:30:47
347
原创 【Java的用户交互Scanner】
java.util.Scanner是Java5的新特征,我们可以通过Scanner类来获取用户输入。:输入多个数字,并求其总和与平均数,每输入一个数字用回车确认,通过输入非数字来结束输入并输出执行结果;hasNext()与hasNextLine()**判断是否还有输入的数据。通过Scanner类的**next()与nextLine()Java给我们提供一个工具类,
2025-02-28 14:18:43
419
原创 【Java基本语法03】
java类型转换分为两种,自动转换和强制转换。其中,自动转换是类型由低到高,而强制转换是类型由高到低。强制转换需要注意:不能对布尔值进行转换;不能把对象类型转换为不相干的类型;转换的时候可能出现内存溢出或者精度问题!
2025-02-26 21:29:17
1594
原创 Java基本语法02【数据类型扩展】
new String(“hello,world”) 会在堆内存中创建一个新的 String 对象,第一次调用时创建一个对象,第二次调用时又会创建一个新的、独立的对象。所以 sa 指向一个 String 对象,sb 指向另一个不同的 String 对象,它们在内存中的。d1比d2值应该小1,却打印出“true”,也就是d1与d2是相等的。即使两个 new String() 所使用的字符串字面量相同,它们也会分别在堆内存中创建独立的对象。 float型和double型是有限位的,是离散的,而非连续,存在。
2025-02-25 21:15:35
601
原创 【Java程序运行机制】
负责将源代码翻译成计算机可以执行的代码。重新运行源程序时,不需要重新编译为可执行代码。除java外,C、C++语言均为编译型语言。 顾名思义,执行到哪一句,就翻译一句…重新运行源程序时,需要重新解释翻译为可执行代码,通常用于对速度要求不高的网页。文件,此过程属于编译,但并未真正执行代码,故又称为***”预编译“***。,因为”java“指令默认的是执行class文件。“文件后,再在命令界面输入***”java Hello",注意”java Hello"此命令的Hello。*”解释型“**运行。
2025-02-24 23:09:55
326
原创 【无标题】
int Getelem_C (Linklist L,int i,Book &e) #取值。void Locate_D(Linklist L,int m,Book &e) #查找。这段代码,(前面的函数块,主函数还没用到),运行结果有误,不知道哪里出错了。cout<<"未找到"<<endl;cout<<"请输入e的值"<<endl;cout<<"建立成功";cout<<"创立成功”;cout<<"打开文件失败";cout<<"打开文件失败";有哪位大佬可以帮忙看看嘛。
2023-09-23 23:58:27
74
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅