自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 顺序表 (C语言版)

顺序存储:把逻辑上相邻的元素存储在物理位置上也相邻的存储单元中,元素之间的关系由存储单元的邻接关系来体现。C语言中可使用:sizeof(ElemType) 来查询数据元素的大小。

2024-04-21 18:36:31 591 1

原创 Python蓝桥杯赛前总结

注: 转换为非10进制时,使用切片将前两个字符舍去。连续输入多行数字,每行的各个数字使用空格隔开。一串数字,使用空格隔开。

2024-04-10 22:47:57 312

原创 代码随想录 | 62.不同路径 ● 63. 不同路径 II

【代码】代码随想录 | 62.不同路径 ● 63. 不同路径 II。

2024-03-08 23:29:27 324

原创 代码随想录 | 860.柠檬水找零 ● 406.根据身高重建队列 ● 452. 用最少数量的箭引爆气球

【代码】代码随想录 | 860.柠檬水找零 ● 406.根据身高重建队列 ● 452. 用最少数量的箭引爆气球。

2024-03-05 21:49:16 387

原创 代码随想录 | 1005.K次取反后最大化的数组和 ● 134. 加油站● 135. 分发糖果

【代码】代码随想录 | 1005.K次取反后最大化的数组和 ● 134. 加油站● 135. 分发糖果。

2024-03-04 20:59:15 332

原创 代码随想录 | 122.买卖股票的最佳时机II ● 55. 跳跃游戏 ● 45.跳跃游戏II

【代码】代码随想录 | 122.买卖股票的最佳时机II ● 55. 跳跃游戏 ● 45.跳跃游戏II。

2024-02-29 19:00:49 338

原创 代码随想录 | ● 455.分发饼干 ● 376. 摆动序列 ● 53. 最大子序和

【代码】代码随想录 | ● 455.分发饼干 ● 376. 摆动序列 ● 53. 最大子序和。

2024-02-28 18:15:32 312

原创 代码随想录 | 39. 组合总和● 40.组合总和II● 131.分割回文串

非常简单,还是一个path 一个result用来记录遍历的路径和结果用start控制for循环的起始位置用sum来记录路径之和,大于target直接return,等于target就将path加入result中。

2024-02-24 18:32:59 400 1

原创 代码随想录 | 216.组合总和III● 17.电话号码的字母组合

和77. 组合思路一致,只不过多了一个cursum用来记录总和。

2024-02-23 18:46:13 287 1

原创 代码随想录 | 77. 组合

将其比作一棵树,n是宽度,k是深度,使用for循环用来横向遍历,backtring函数用于向下遍历,每遍历一个数字就将其加入path,到达叶子节点时就将path加入result,然后清空path(回溯),再利用for循环遍历下一组数据。

2024-02-22 18:49:57 365 1

原创 代码随想录 | 669. 修剪二叉搜索树 ● 108.将有序数组转换为二叉搜索树 ● 538.把二叉搜索树转换为累加树

【代码】代码随想录 | 669. 修剪二叉搜索树 ● 108.将有序数组转换为二叉搜索树 ● 538.把二叉搜索树转换为累加树。

2024-02-21 19:57:37 344 1

原创 代码随想录 | 235. 二叉搜索树的最近公共祖先 ● 701.二叉搜索树中的插入操作 ● 450.删除二叉搜索树中的节点

因为是在二叉搜索树中,所以将node与p,q对比即可,若node.val小于p,q.val,搜索右子树,相反若大于,则搜索左子树。

2024-02-20 18:59:13 350

原创 代码随想录 | 530.二叉搜索树的最小绝对差 ● 501.二叉搜索树中的众数 ● 236. 二叉树的最近公共祖先

非常简单,因为是二叉搜索树,所以只需要中序遍历,即可将其升序排列,使用列表将其存储也行,使用指针直接相减也行。

2024-02-19 17:50:07 339 1

原创 代码随想录 | 654.最大二叉树 ● 617.合并二叉树 ● 700.二叉搜索树中的搜索 ● 98.验证二叉搜索树

此题为构造一棵二叉树,构造二叉树一般使用前序遍历,既先处理根节点,后处理左右节点。

2024-02-17 19:13:31 306 1

原创 代码随想录 | 513.找树左下角的值 112. 路径总和

使用层序遍历,只需找到最下层最左侧的节点并返回即可。

2024-02-16 19:02:34 364 1

原创 代码随想录 | 110.平衡二叉树 404.左叶子之和

使用后序遍历,如果左右子树差值大于1,则返回-1,表示二叉树不平衡。

2024-02-16 01:37:36 341 1

原创 代码随想录 | 104.二叉树的最大深度 111.二叉树的最小深度 222.完全二叉树的节点个数

使用后序遍历,计算二叉树的高度,到根节点的高度既二叉树的最大深度。

2024-02-15 16:52:14 326 1

原创 代码随想录训练营 | 层序遍历 226.翻转二叉树 101.对称二叉树

思路:借用一个辅助数据结构即队列来实现,队列先进先出,符合一层一层遍历的逻辑。

2024-02-15 11:55:32 329 1

原创 代码随想录 | 递归遍历 迭代遍历

当前遍历的节点是空,那么本层递归结束,所以如果当前遍历的这个节点是空,就直接return。因为操作顺序与处理顺序不同,所以需要指针来访问数据,栈处理数据。先将左孩子压入栈,再将右孩子压入栈,最后翻转输出即可。先将右孩子压入栈,再将左孩子压入栈,

2024-02-15 11:07:28 394 1

原创 代码随想录训练营 | 232.用栈实现队列 225. 用队列实现栈

2,pop操作,从 'stack_out' 弹出元素 ,如果 'stack_out' 为空,先从 'stack_in' 转移元素 #,然后再弹出队头元素。3,top操作,和pop一样,所以直接调用pop,之后再将弹出的元素加入stack_in中即可。请你仅使用两个队列实现一个后入先出(LIFO)的栈,并支持普通栈的全部四种操作(请你仅使用两个栈实现先入先出队列。使用两个栈操作元素即可,stack_in和stack_out。4,empty操作,只要in或者out有元素,说明队列不为空。

2024-02-02 23:18:08 374

原创 代码随想录训练营 | 344.反转字符串 541. 反转字符串II 卡码网:54.替换数字 151.翻转字符串里的单词 卡码网:55.右旋转字符串

给定一个字符串 s,它包含小写字母和数字字符,请编写一个函数,将字符串中的字母字符保持不变,而将每个数字字符替换为number。给定一个字符串 s 和一个正整数 k,请编写一个函数,将字符串中的后面 k 个字符移到字符串的前面,实现字符串的右旋转操作。方法生成的单词列表,之后通过for循环逐个翻转单词,将翻转过的单词储存在新列表里,使用.join将其转变为字符串输出即可。不使用额外的存储空间,直接在原字符串上进行处理,因为python的字符串不能修改,首先将字符串改为列表的形式,输入字符串以字符数组。

2024-02-01 20:45:23 934 1

原创 代码随想录训练营 | 454.四数相加II 383. 赎金信 15. 三数之和 18. 四数之和

使用双指针法,最外面一层for循环,用来充当i的下标,里面一个left(充当j的下标)定义在i+1的位置上,一个right(充当k的下标)定义在数组最后,如果 nums[i] + nums[left] + nums[right] < 0 ,left 就向右移动,才能让三数之和大一些,。需注意的是,答案中不可以包含重复的三元组,所以我们要对i,left,right对应的元素去重,即跳过相同的元素以免重复,并且。所以判断 nums[i] 与 nums[i-1] 是否相同,即判断比较它的前一个是否相同。

2024-01-30 22:39:38 862 1

原创 代码随想录 | 242.有效的字母异位词 349. 两个数组的交集 202. 快乐数 1. 两数之和

使用额外的空间存放哈希表 [0]*26,先遍历一个字符串,将其中字母出现次数记录在哈希表中 ord(i)-ord('a'),再遍历下一个字符串,将其中出现的字符次数在哈希表中-1。使用一个字典储存已经遍历过的元素,并在遍历数组的时候,只需要向字典查询是否有和目前遍历元素匹配的数值,如果有,就找到的匹配对,如果没有,就把目前遍历的元素放进字典中,因为字典存放的就是我们访问过的元素。使用列表储存nums1中元素是否出现,与nums2中对比,若在nums2中也有出现,则使用集合(防止记录出现的元素。

2024-01-29 18:30:04 1542

原创 代码随想录训练营 | 24. 两两交换链表中的节点 19.删除链表的倒数第N个节点 面试题 02.07. 链表相交 142.环形链表II

1、使用指针临时储存节点。2、进行循环时,注意边界问题。注意边界问题,并且使用虚拟头节点(更优雅)

2024-01-28 01:10:52 1299

原创 代码随想录训练营 | 链表理论基础 203.移除链表元素 707.设计链表 206.反转链表

1、cur = cur.next 将cur的指针移动到当前节点的下一个节点,即将cur更新为链表中的下一个节点2、cur.next = cur.next.next 删除cur.next节点,将cur的next指针跳过了要删除的节点,直接指向了下一个节点,从而将要删除的节点从链表中移除,需要确保要删除的节点存在(即cur.next不为Nonecur是指向要删除节点的前一个节点。cur.next是要删除的节点。是要删除节点的下一个节点。1、多画图2、cur = cur.next 为让cur向后移动。

2024-01-26 23:29:06 1595

原创 代码随想录训练营 | 977.有序数组的平方 ,209.长度最小的子数组 ,59.螺旋矩阵II

使用暴力法,只需注意边界即可。1、判断 cur_sum 大于等于目标值,不可使用if,因为其要连续更新窗口,所以需要使用while。2、每当 cur_sum >= s ,更新一次min_len,cur_sum,left。3、注意每次先更新min_len,后更新cur_sum,left,以确保min_len记录的是窗口内元素和大于等于s时的长度4、返回时若不存在符合条件的子数组,则min_len依旧为正无穷,所以返回0注意保证所有区间左闭右开。

2024-01-25 23:26:18 301

原创 代码随想录训练营 | 数组理论基础,704. 二分查找,27. 移除元素

初始的区间,因包含右边界的元素,所以初始的右边界为len(nums) -1。更新区间时,因为是左闭右闭区间,所以更新的右边界无需包含mid,即mid-1;左边界相同,也无需包含mid,即mid + 1。需要特别注意每次循环的边界。

2024-01-24 21:23:31 354

空空如也

空空如也

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

TA关注的人

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