自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 算法day10 | 232.用栈实现队列 | 225. 用队列实现栈 | 20. 有效的括号 | 1047. 删除字符串中的所有相邻重复项

给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效。给出由小写字母组成的字符串 S,重复项删除操作会选择两个相邻且相同的字母,并删除它们。在完成所有重复项删除操作后返回最终的字符串。在 S 上反复执行重复项删除操作,直到无法继续删除。push(x) -- 将一个元素放入队列的尾部。peek() -- 返回队列首部的元素。empty() -- 返回队列是否为空。pop() -- 从队列首部移除元素。

2024-12-08 21:33:37 1786

原创 算法day09 | 151.翻转字符串里的单词 | 右旋字符串

字符串的右旋转操作是把字符串尾部的若干个字符转移到字符串的前面。给定一个字符串 s 和一个正整数 k,请编写一个函数,将字符串中的后面 k 个字符移到字符串的前面,实现字符串的右旋转操作。输入:输入共包含两行,第一行为一个正整数 k,代表右旋转的位数。例如,对于输入字符串 "abcdefg" 和整数 2,函数应该将其转换为 "fgabcde"。解释: 如果两个单词间有多余的空格,将反转后单词间的空格减少到只含一个。输出:输出共一行,为进行了右旋转操作后的字符串。输出: "blue is sky the"

2024-12-08 21:19:39 449

原创 算法day08 | lc 344.反转字符串 | lc 541. 反转字符串II | 替换数字

给定一个字符串 s,它包含小写字母和数字字符,请编写一个函数,将字符串中的字母字符保持不变,而将每个数字字符替换为number。例如,对于输入字符串 "a1b2c3",函数应该将其转换为 "anumberbnumbercnumber"。先把新数组的长度计算出来,再定义一个指针,遍历字符串,逐个判断。输入:["H","a","n","n","a","h"]输出:["h","a","n","n","a","H"]输入:["h","e","l","l","o"]输出:["o","l","l","e","h"]

2024-12-04 21:07:04 798

原创 算法day07 | lc 第454题.四数相加II | lc 383. 赎金信 | lc 第15题. 三数之和 | lc 第18题. 四数之和

示例: 给定数组 nums = [1, 0, -1, 0, -2, 2],和 target = 0。满足要求的四元组集合为: [ [-1, 0, 0, 1], [-2, -1, 1, 2], [-2, 0, 0, 2] ]给定四个包含整数的数组列表 A , B , C , D ,计算有多少个元组 (i, j, k, l) ,使得 A[i] + B[j] + C[k] + D[l] = 0。请你找出所有满足条件且不重复的三元组。满足要求的三元组集合为: [ [-1, 0, 1], [-1, -1, 2] ]

2024-12-03 17:11:21 2025

原创 算法day06 |lc 242.有效的字母异位词|lc 349. 两个数组的交集|lc 第202题. 快乐数 | lc 1. 两数之和

快乐数」定义为:对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和,然后重复这个过程直到这个数变为 1,也可能是 无限循环 但始终变不到 1。如果 可以变为 1,那么这个数就是快乐数。设计一个Map,key是nums的值,value是nums的索引下标,遍历nums的时候,取当前值和目标值的差,去map中找,有就成功,没有就将当前值和其索引put到map中。如果计算的数字,陷入了循环说明就不是快乐数,因此只需要将之前计算的结果保存在hashSet中,每次计算的时候判断是否在hashSet中。

2024-12-02 17:31:10 692

原创 算法day04 |lc 24. 两两交换链表中的节点|lc 19.删除链表的倒数第N个节点|lc 面试题 02.07. 链表相交 | 142.环形链表II

判断是否有环,采用快慢指针,快指针每次走2步,慢指针每次走1步,如果有环,快指针由于每次都比慢指针多1步,所以必然相交。判断环的入口,定义指针1指向链表的头节点,指针2指向快慢指针相交的节点,指针1和指针2同时走,相交的地方就是环的入口。总结:今天的题目开始有一定的难度了,重点还是要多画图,另外涉及到用一些数学知识来解决问题,利用递归解题,目前还不是很熟悉,后续还会有专门递归的题目进行加强练习。给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。代码2:递归方式,主要是理解递归方法的作用。

2024-11-30 23:20:08 745

原创 算法day03 | lc 203.移除链表元素 | lc 707.设计链表 | lc 206.反转链表

总结:今天进入新的数据结构,链表的学习,今天的题目本身并不难,但是需要特别细心,特别是在操作双链表的时候,一定要确定好代码的先后顺序,并使用临时变量保存后续要用到的数据。示例 1: 输入:head = [1,2,6,3,4,5,6], val = 6 输出:[1,2,3,4,5]示例: 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL。// 链表变为 1->2->3。示例 3: 输入:head = [7,7,7,7], val = 7 输出:[]

2024-11-30 10:30:41 2153

原创 算法day02 | lc.209.长度最小的子数组 | lc.59.螺旋矩阵II | 区间和 |开发商购买土地

给定一个含有 n 个正整数的数组和一个正整数 s ,找出该数组中满足其和 ≥ s 的长度最小的 连续 子数组,并返回其长度。如果不存在符合条件的子数组,返回 0。思路:滑动窗口:2个指针,头指针用于遍历,尾指针不动,当满足条件的结果出现后,尾指针逐步移动,再进行判断,如此往复直至结束。

2024-11-28 17:28:30 877

原创 算法day01 | lc.704 二分查找 | lc.27 移除元素 | lc.744 有序数组的平方

给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。思路:,同时采取左闭右开或左闭右闭的方式解题代码一:左闭右开代码二:左闭右闭。

2024-11-27 21:26:06 616

空空如也

空空如也

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

TA关注的人

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