自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 回溯2,力扣78题

我都笑了,套模版只需要把def里path和result的定义放在def前就通过了。

2024-11-18 17:16:20 80 1

原创 回溯练习第一天

自己写就没通过过呵呵抄别人的改也通不过16行。Problem: 47. 全排列 II。

2024-11-18 15:43:36 100

原创 关于node.js配置环境时以管理员权限打开

sudo是以管理员身份打开, 用which node可以不用寻找这份文件的目录在哪里。

2024-03-31 17:40:53 627 1

原创 npm与Node.js不兼容导致显示npm does not support Node.js v20.12.0

刚开始先下了npm,然后才下了Node.js, 发现两者是需要配套的,然后npm,Node.js要删也各种费劲,就找到了nvm install 10.5.0(后面是node版本),后面输入npm -v 和node -v显示的版本就配套了。

2024-03-31 14:39:42 397

原创 二叉树之对称二叉树

比较二叉树的外侧是否对称:左节点的左孩子和右节点的右孩子是否相同。比较二叉树的内侧是否对称:左节点的右孩子和右节点的左孩子是否相同。左节点为空,右节点不为空,不对称,return false。左不为空,右为空,不对称 return false。左右都为空,对称,返回true。比较数值,不相同为 false。如果外侧内侧都对称就返回。终止条件​​​​​​。左右节点不为空的情况。

2023-12-02 16:17:09 400

原创 二叉树之翻转二叉树

思路:反转左孩子和右孩子,再反转左孩子的左右孩子和反转右孩子的左右孩子,即先翻转左右孩子,再翻转左子树和右子树(中序遍历容易翻转两次,一般不用)根的左孩子,右孩子=根的右孩子,左孩子//根的左孩子,右孩子=根的右孩子,左孩子//递归:先确定终止条件,再确定单层递归逻辑。

2023-12-02 15:33:14 410

原创 递归 树 前序中序后序遍历

如果根是None:(没懂这里为什么是none不是不存在)

2023-12-02 15:03:04 365

原创 栈与队列之逆波兰表达式求值

栈中加入 token在op_map里对应函数后和op1、op2运算的结果//op2先出栈,放在运算式后面。弹出第一个值//op2=stack.pop()弹出第二个值//op1=stack.pop()栈//stack=[]后缀表达式转为中缀表达式并输出值。+-*/在op_map里。

2023-11-28 16:05:03 340

原创 栈与队列之删除字符串中相邻重复项

如果字符串没遍历过,放入栈中;如果字符串和栈最后一个元素相同,删除栈中最后一个元素。添加item//没遇到过的元素添加进去。定义一个栈//res=list()res最后一个元素==item。

2023-11-28 15:02:17 397

原创 栈与队列之有效的括号

如果栈空或者栈弹出值不等于item://栈空时还有字符串,匹配不上;栈的弹出值不等于item,匹配不上。遇到左括号时,在栈里弹入与左括号匹配的右括号,遇到右括号时,弹出栈里之前弹入的右括号。栈里加入')'//stack.append('(')栈里加入'}'//stack.append('}')栈里加入']'//stack.append(']')返回True如果栈空不然返回False//整体判断栈中元素是否匹配。stack=[]//定义栈。用栈判定三种括号是否匹配。

2023-11-28 14:11:35 403

原创 栈与队列之用队列实现栈

队列1: 2。队列1: 1 2。2两个元素34从左往右进入队列1,4后进先出,13进入队列2让位,4出列后13再回到队列1。1两个元素12进入队列1,从左往右进入,2后进先出,1移到队列2让位,1再移回队列1。队列1: 1 342。返回队列每个最左边(后)的元素。

2023-11-27 17:08:21 349

原创 栈与队列之用栈实现队列

stackOut添加stackIn弹出值。返回self.stackOut.pop()进栈添加//self.stackIn.append()stackOut添加ans中的元素。出栈数组//stackOut。进栈数组//stackIn。有元素说明队列不为空。定义peek//取最前面的元素。定义empty //bool。

2023-11-26 19:34:56 310

原创 字符串之反转字符串里的单词

字符串

2023-11-26 18:36:26 356

原创 字符串之反转字符串

左指针+=1 //往右移一位。左指针和右指针的值交换。

2023-11-26 16:48:30 392

原创 哈希表之赎金信❤️

返回所有在26个字母范围内 赎金信字母出现字数小于等于杂志中字母出现字数的结果。一封信,一本杂志,判断信里的内容能不能由杂志里的内容生成。记录每个字母在赎金信里出现的次数 //记录每个字母在杂志中出现的次数。

2023-11-25 16:34:42 377

原创 哈希表之四数之和

以n1+n2为索引的值+1//hashmap[n1+n2]+=1,hashmap[n1+n2]=1//第一次出现。使用字典//hashmap=dic()count=0//记录次数。

2023-11-24 14:59:24 399

原创 哈希表之快乐数

不然把sum带入n里//n=sum,如果还没等于1,继续平方和。sum等于i上的数的平方和// sum+=int(i)**2。一个数的各个数字的平方加起来的和,再将和的各个数字的平方和相加,最终等于1。把n转化为字符串// new_str=str(n)如果sum==1,返回true。加入n//record.append(n)record=[]//记录。

2023-11-23 16:46:21 41

原创 链表相交(找相交链表第一个节点)

curB=curB.next// curB移动到和A头节点一样的位置,即末尾对齐。两个链表在某一个节点开始往后都相同//寻找相交链表的第一个节点。curB往后移//直到找到两个相同数值节点为止。如果curA==curB。如果A的长度>B的长度://交换名称。需要先把较短链表与较长链表末尾对其。

2023-11-17 00:40:21 112

原创 删除链表倒数第n个节点

慢指针删除一个节点的操作需要三个节点完成,第二个节点是被删除节点,可以知道当慢指针移动到倒数第三个节点,指向最后一个节点的时候,倒数第二个节点是被删除节点。增加一个快指针,增加一个虚拟头节点,可以知道如果增加虚拟头节点,指针往后移动几步就等于当前节点的值。而快指针需要比慢指针三个节点最少多一个节点。快指针最少比慢指针多走2+1步(2是因为有虚拟头节点),当快指针比当前基础操作多加一个节点,被删除节点在快指针移动到末尾后距离快指针远离一个节点,即倒数第n个节点。快指针往下移//快指针比慢指针多走n+1。

2023-11-16 23:39:47 53

原创 两两交换链表中的节点

cur.next=cur.next.next//虚拟节点指向当前虚拟节点的下一个的下一个即节点2(等号后面是原来节点顺序)cur.next.next=temp//虚拟节点下一个的下一个=temp即节点1。temp.next=temp1//节点1指向节点3。节点1为temp,节点3为temp1。cur作为当前虚拟节点。

2023-11-15 00:07:40 49

原创 链表之设计链表

力扣707。

2023-11-14 14:54:24 42

原创 链表 day3

当前指针的下一个节点=当前指针的下一个节点的下一个节点。当前指针=当前指针的下一个节点//当前指针往后移一位。dummyHead=ListNode(next=head)//创建虚拟头节点。如果当前指针的下一个节点的值==目标值。力扣203 移除链表元素。返回 虚拟节点的下一位。当前指针=虚拟头节点。

2023-11-10 13:43:23 48

原创 双指针思想之滑动窗口 day2

在滑动窗口里,先将右指针往右移,把子序列里的值相加,大于等于目标值的时候,左指针往左移,这时子序列减去上一个左指针的值,再寻找最长度最小的子序列。最小长度=min(最小长度,left-right+1)//对比当前最小长度和当前左右指针的长度谁更小。当前累加值-=nums[left]当当前累加值>=目标值时(小于目标值退出循环)当前累加值+=nums[right]for循环里的指针为右指针。

2023-11-09 19:03:34 35

原创 双指针思想 day2

方法一:设置左右指针,左右指针平方对比,从右往左放入新的数组。方法二:平方用nums.sort()排序。力扣977 有序数组的平方。设置左、右以及新数组的指针。

2023-11-09 17:41:10 26

原创 二分查找 day1

设置start、end、middle指针,如果目标值小于middle,抛弃右边一半,在左边一半中查找目标值,将原来的middle设置成第二次查找的end即右边临界点;如果目标值大于middle,则抛弃左边一半,在右边一半中查找目标值,将原来的middle设置成第二次查找的start即左边的临界点。力扣704 python。

2023-11-09 15:07:56 30

空空如也

空空如也

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

TA关注的人

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