- 博客(8)
- 收藏
- 关注
原创 Day 8 移除元素
题目要求删除数组中等于 val 的元素,输出数组的长度一定小于等于输入数组的长度,可以把输出的数组直接写在输入数组上。整个过程保持不变的性质是:区间 [0,left) 中的元素都不等于 val。如果右指针指向的元素不等于 val,它一定是输出数组的一个元素,我们就将右指针指向的元素复制到左指针位置,然后将左右指针同时右移;如果右指针指向的元素等于 val,它不能在输出数组里,此时左指针不动,右指针右移一位。你的函数应该返回 k = 5,并且 nums 中的前五个元素为 0,0,1,3,4。
2024-07-28 22:38:13 1445 1
原创 Day 7 删除有序数组中的重复项
/ 长度正确的期望答案。具体思路没有理清楚,明天理,今天到此结束。不需要考虑数组中超出新长度后面的元素。如果所有断言都通过,那么您的题解将被。不需要考虑数组中超出新长度后面的元素。,返回删除后数组的新长度。删除重复出现的元素,使每个元素。函数应该返回新的长度。的前两个元素被修改为。函数应该返回新的长度。的前五个元素被修改为。
2024-07-27 22:38:48 1062
原创 Day 6 合并两个有序链表
如果 l1 或者 l2 一开始就是空链表 ,那么没有任何操作需要合并,所以我们只需要返回非空链表。否则,我们要判断 l1 和 l2 哪一个链表的头节点的值更小,然后递归地决定下一个添加到结果里的节点。如果两个链表有一个为空,递归结束。1.这里定义的list1和list2都是指针,所以判空用nullptr而不是null。新链表是通过拼接给定的两个链表的所有节点组成的。2.同上所以访问val时要用->而不是.来访问。将两个升序链表合并为一个新的。
2024-07-25 21:00:47 304
原创 Day 5 有效的括号
6.关于if之后是否要写else,如果if里有出口,无需写else;若没有,则必须写else,否则会顺序执行本应在else里面的语句。4..count()的作用是搜索某个键是否存在于哈希集内,即如果该字符是右括号,if的括号内才为1,然后继续执行。5.for(char c : s)是循环遍历字符串s,并且这里是将字符串复制给了c。1.越往后的左括号越要先匹配,所以采用栈的数据结构。2.利用哈希表来存对应的左右括号,以此来进行匹配。3.此处哈希表、栈、c三者数据类型要统一。,判断字符串是否有效。
2024-07-24 18:08:24 181
原创 Day 4 最长公共前缀
编写一个函数来查找字符串数组中的最长公共前缀。两种暴力解法代码(明天后天学后两种算法思想)如果不存在公共前缀,返回空字符串。输入不存在公共前缀。
2024-07-21 16:56:01 108
原创 Day3 罗马数字转整数
4.symbolvalue[s[ i + 1 ]]和symbolvalue[ i + 1]不同,需要查找的是字符串中下一个字符对应的值,而不是当前位置在哈希表中紧邻的字符的值。数字 1 在数字 5 的左边,所表示的数等于大数 5 减小数 1 得到的数值 4。同样地,数字 9 表示为。通常情况下,罗马数字中小的数字在大的数字的右边。但也存在特例,例如 4 不写做。1.使用哈希表来封装,使代码更加简洁,原因如注释所描述。给定一个罗马数字,将其转换成整数。,即为两个并列的 1。
2024-07-20 13:04:31 696
原创 Day 2 回文数
从左向右读, 为 -121。从右向左读, 为 121-。因此它不是一个回文数。是指正序(从左向右)和倒序(从右向左)读都是一样的整数。从右向左读, 为 01。因此它不是一个回文数。是一个回文整数,返回。官方题解所给思路关键图。
2024-07-19 20:33:17 254
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人