自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 leetcode_master Day12

利用容器:优先级队列(披着队列外衣的堆)从队头取元素,从队尾添加元素。缺省情况下priority_queue利用max-heap(大顶堆)完成对元素的排序,这个大顶堆是以vector为表现形式的complete binary tree(完全二叉树)。本题利用小顶堆,因为要统计最大前k个元素,只有小顶堆每次将最小的元素弹出,最后小顶堆累计的才是前k个最大元素。3.找出前k个高频元素。

2024-02-16 16:55:44 336 1

原创 leetcode_master Day11

加入一个栈,利用这个栈,如果查到对应位置是一个左括号,就在这个栈里面加入右括号。如果查到对应位置上是右括号,就需要对应上栈里面的top处的相同的右括号消除。如果不能消除或者栈里面没有括号的话,就说明出现问题2与3,直接错误。// ( { [ ] } ) ) ) ) )2.括号之间不能够相互匹配 // ( { [ ) } )// ( ( [ { }] )4.数量不对应:奇数的时候不满足,括号都是成对出现的。如果依次查完了,发现对应里面栈不为空,就说明错误。分为三种情况下进行处理。

2024-02-15 22:03:30 346 1

原创 leetcode_master Day10

你只能使用队列的基本操作-- 也就是 push to back, peek/pop from front, size, 和 is empty 这些操作是合法的。你所使用的语言也许不支持队列。你可以使用 list 或者 deque(双端队列)来模拟一个队列 , 只要是标准的队列操作即可。你可以假设所有操作都是有效的(例如, 对一个空的栈不会调用 pop 或者 top 操作)。push(x) – 元素 x 入栈。empty() – 返回栈是否为空。pop() – 移除栈顶元素。top() – 获取栈顶元素。

2024-02-15 18:37:11 353 1

原创 leetcode_master Day9

给你两个字符串 haystack 和 needle ,请你在 haystack 字符串中找出 needle 字符串的第一个匹配项的下标(下标从 0 开始)。如果 needle 不是 haystack 的一部分,则返回 -1。输入:haystack = "sadbutsad", needle = "sad"输出:0解释:"sad" 在下标 0 和 6 处匹配。第一个匹配项的下标是 0 ,所以返回 0。输入:haystack = "leetcode", needle = "leeto"输出:-1。

2024-02-15 15:41:18 331 1

原创 leetcode_master Day8

对于1.部分,主要是要理解只要找到非空格就开始判断,对于新字符的第一个位置必须是一个字符,不能是空格,所以对于第一个字,这时候需要进行特殊判断将除去第一个字符以外的进行排除,只要遇见新的字符,就在字符前面加上空格。给定一个字符串 s 和一个正整数 k,请编写一个函数,将字符串中的后面 k 个字符移到字符串的前面,实现字符串的右旋转操作。给定一个字符串 s 和一个整数 k,从字符串开头算起,每计数至 2k 个字符,就反转这 2k 字符中的前 k 个字符。给你一个字符串 s ,请你反转字符串中 单词 的顺序。

2024-02-12 14:27:54 836 1

原创 leetcode_master day7

给你一个整数数组 nums ,判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i!输出:[[-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。不同的三元组是 [-1,0,1] 和 [-1,-1,2]。输入:nums = [-1,0,1,2,-1,-4]输出:[[-1,-1,2],[-1,0,1]]

2024-02-01 14:59:34 879 1

原创 leetcode_master day6

如果存在满足的就直接返回他们对应的下表,其中map里面key值对应的是数组里面的数值,value对应的是数组里面值的下标。因为其中num1与num2对应的输入数组不一定是非重复数组,所以需要考虑将重复项消去,并且在result中也不允许重复的数值出现,这时候可以考虑容器数组。需要把字符映射到数组也就是哈希表的索引下标上,因为字符a到字符z的ASCII是26个连续的数值,所以字符a映射为下标0,相应的字符z映射为下标25。输入:nums1 = [4,9,5], nums2 = [9,4,9,8,4]

2024-01-29 16:08:54 958

原创 leetcode_master day04_24.两两交换链表中的节点_19.删除链表的倒数第N个节点_面试题 02.07. 链表相交_ 142.环形链表II

首先,如果要开始交换两两之间,必须要有一个头节点进行链接,通过这个新的虚拟头节点来对后面的东西进行表示,如下图所示,在将虚拟头指针指向2的同时,1的就失去了链接,所以要先把1的地址存储下来,然后对于2链接到1时,就会失去3的信息,所以也有把3的地址信息存储下来,这样依次从dummy到2,2到tmp1,1到tmp2,下来为了将3与4交换,就需要把cur指向2。从各自的表头开始算起,链表 A 为 [4,1,8,4,5],链表 B 为 [5,0,1,8,4,5]。在 B 中,相交节点前有 3 个节点。

2024-01-27 15:33:14 895

原创 leetcode_master_day3

int val;

2024-01-26 17:40:09 1037 1

原创 Leetcode_Master_Day02_977.有序数组的平方_209.长度最小的子数组_59.螺旋矩阵

2.利用滑动窗口法去解决:因为这个题目的特性就是找出比它target大的数组长度就可以了,其中最重要的就是这个是一个正整数组,如果它一直相加,是一直增大的,这时候只要找到一个大的数组,如果继续保持头节点不变化,增大尾部节点,他是一直满足的,所以可以不用往下继续进行,这时候只需要考虑头节点前移,让这个数组变短就是不满足的时候。还需要分辨n在奇偶的时候,里面的需不需要单独在写一次中间的数。给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方组成的新数组,要求也按非递减顺序排序。

2024-01-25 19:13:26 530

原创 Leetcode_Master Day1 704.二分查找法 27.移除元素 34.在排序数组中查找元素的第一个和最后一个位置35.搜索插入位置

数组下标都是从0开始的数组内存空间的地址是连续的数组的在内存空间的地址是连续的,所以我们在删除或者增添元素的时就难免要移动其他元素的地址数组的元素是不能删的,只能覆盖。

2024-01-24 12:42:54 498 1

空空如也

空空如也

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

TA关注的人

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