自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 DeFrcn论文复现以及遇到的问题记录

他这篇说是因为detectron2 0.5版本的问题,0.3版本可能没有这个问题。但我这个0.5版本的detectron2很奇怪 报错位置并不在roi_heads文件,而是在另一个文件,最后保险起见我选择重新下载了0.3。感觉可能是因为cuda版本不太对劲 创了一个虚拟环境整(但后续发现就是detectron2的版本和cuda不对应)这里我直接卸载了detectron2然后在这个。找了对应版本的detectron2。说是Pillow版本过高导致的。

2024-01-29 01:20:02 618 3

原创 DAY44 动态规划06

核心代码完全背包代码先遍历物品,再遍历背包先遍历背包,再遍历物品。

2023-09-23 00:55:35 188

原创 DAY43 动态规划05

最后一块石头的重量->将一堆石头分为两堆,求使得两堆重量最小差值->使得两堆石头的重量接近。

2023-09-16 20:44:09 208

原创 DAY42 动态规划04

01背包概念:有n件物品和一个最多能背重量为w的背包。第i件物品的重量是weight[i],得到的价值是value[i]。每件物品只能用一次,求解将这些物品装入背包里物品价值总和最大。确定dp数组以及下标的含义使用二维数组,即dp[i][j]表示从下表为[0-i]的物品里任意取,放进容量为j的背包,价值总和最大是多少确定递推公式当不放物品i时,由dp[i-1][j]推出,即背包容量为j,里面不放物品i的最大价值,此时dp[i][j]就是dp[i - 1][j]。

2023-09-04 03:09:27 188

原创 DAY40 动态规划03

时间复杂度空间复杂度均为O(1)

2023-08-27 22:38:40 100

原创 DAY39 动态规划02

首先理解题意,将该题分解为一个组合问题,然后再直接使用python的math模块中的函数comb函数或者使用动态规划的思想我们将状态表示为到达(i,j)位置时的最多路径。

2023-08-27 14:19:21 103

原创 DAY38 动态规划01

当某一问题有很多重叠子问题时,是用动态规划是最有效的。动态规划种每一个状态一定是由上一个状态推导出来的。

2023-08-22 23:51:47 84

原创 DAY 37 贪心算法06

968.监控二叉树暂时跳过

2023-08-22 01:22:43 156

原创 DAY36 贪心算法05

对于合并区间问题,按照区间的起始位置排序能够使得合并过程更加直观。对于判断两个区间是否可以合并这类问题,其判断依据在于区间的结束位置,因此更适合按结束位置排序。

2023-08-21 02:26:09 35

原创 DAY35 贪心算法04

得到数组points = [[1,6],[2,8],[7,12],[10,16]],这是为了方便我们给出第一箭的位置,为了保证第一箭一定可以射中point[0]这个气球并且能尽可能的尝试射中其他气球,我们将其放在第一个气球的end位置。此时继续遍历数组中的气球,当出现一个气球的start位置超过当前箭的位置时,说明我们需要射下一箭,则更新pos位置为该气球的end位置,这样既能保证当前气球被射中,还可以尽可能地引爆其他气球。空间复杂度:O(logn) 排序所需的栈空间。时间复杂度:O(nlogn)

2023-08-21 01:21:05 46

原创 DAY34 贪心算法part03

思路:每次都找出最小的一个值 然后将其nums[i] -> -nums[i]。因为当这个数字为负数时,将其变为正数显然能够使得整个数组和增加最多,当这个数字为最小正数时,这样的变化也可以使得代价最小时间复杂度应该是O (knlogn)

2023-08-20 21:35:23 115

原创 DAY32 贪心算法part02

在每一个股票上涨的日子卖出,在每一个股票下降的日子不动。

2023-08-18 00:58:08 132

原创 DAY31 贪心算法part01

贪心的本质就是选择每一阶段的局部最优,从而达到全局最优。贪心算法分为四部。

2023-08-18 00:01:06 134

原创 DAY28 回溯算法4

时间复杂度:三个嵌套循环的范围分别是n-2,n-1和n,其中n是输入字符串s的长度。在内部循环中,进行了一些字符串操作(例如:切片、整数转换、长度检查、连接等)。这些操作的时间复杂度通常是常数时间(O(1))。因此,总体时间复杂度为O(n^3),其中n是输入字符串的长度。空间复杂度:使用了几个额外的变量来存储拆分出来的子串(a,b,c,d)以及最终的IPv4地址字符串。额外空间的使用不会随着输入的增加而显著增长,因此额外空间的复杂度可以视为O(1),即常数空间复杂度。

2023-08-14 00:45:01 40

原创 DAY27 回溯算法part03

未剪枝情况剪枝后规范的回溯算法写法。

2023-08-07 23:04:29 112

原创 DAY 25 回溯算法part02

对 对应数字中的字母集合遍历。

2023-08-06 01:14:12 76

原创 DAY 24 回溯算法part01

回溯法也可以叫做回溯搜索法,它是一种搜索的方式。回溯法解决的问题都可以抽象为树形结构,因为回溯法解决的都是,集合的就构成了树的,递归的,都构成的。递归就要有终止条件,所以必然是一棵高度有限的树(N叉树)。for循环就是遍历集合区间,可以理解一个节点有多少个孩子,这个for循环就执行多少次。backtracking这里自己调用自己,实现递归。

2023-08-05 23:37:14 118

原创 DAY 23二叉树part09

108.将有序数组转换为二叉搜索树错误代码,当输入示例为nums = [0,1,2,3,4,5]时,输出[3,2,4,1,null,null,5,0],正确答案应为[3,1,5,0,2,4]注意要考虑数组为空的情况!!时间复杂度O(nlogn) 空间复杂度O(logn)按照“右根左”的顺序,递归遍历二叉搜索树,累加遍历到的所有节点值到 s中,然后每次赋值给对应的 节点定义s表示二叉搜索树节点值累加和,遍历二叉树结点。

2023-08-05 00:42:09 93 1

原创 DAY22二叉树 part08

不理解为啥这个直接超过时间限制了。

2023-08-04 00:58:41 119 1

原创 DAY21 二叉树part07

这个思路想到过,但没想好怎么去维护这个最大的频数,看完这个代码傻眼了,只能说写中序遍历的时候我还在想要生成最后的遍历结果,但这个直接调用函数进行维护了。传进去一个可选参数n(代表获取数量最多的前n个元素,如果不传参数,代表返回所有结果)python可以直接用中序遍历+Counter函数去做,这里我们已经知道。

2023-08-03 20:46:14 119

原创 DAY20 二叉树part06

这个思路可以理解但我想不到。

2023-07-31 20:56:56 163 1

原创 DAY18 代码随想录算法训练营 二叉树part05

解答错误,当输入为[1,2,3,4,null,5,6,null,null,7]时输出错误。错误原因在于我理解题意有偏差,要求找到最底层最左边的节点,则说明首先考虑最底层再考虑最左边,因此等同于。我的思路找到的是最左节点,并非最底层。

2023-07-29 22:50:04 192

原创 DAY17 代码随想录 二叉树part04

不断地递归左右子树。

2023-07-28 20:46:07 47 1

原创 DAY16 代码随想录 二叉树part03

【代码】DAY16 代码随想录 二叉树part03。

2023-07-27 04:23:57 106 1

原创 DAY15 代码随想录 二叉树part02

发现了更简单的写法,写递归一定要先考虑终止条件。注意这里不管让左子树还是右子树先入栈都可以。意料之外的一次性写对了!

2023-07-27 03:29:08 45 1

原创 DAY14 代码随想录 二叉树part01

之前做过,这次把几个点弄明白了。1.为什么在类内定义的第一个def函数里的def函数不可以带self参数在Python中,嵌套函数中没有self参数是因为(Instance Method),而是普通的函数(Function)。self参数在Python中通常用于定义类的方法。类方法是绑定到类的实例上的函数,第一个参数必须是类实例本身,通常被称为self。这个参数允许方法访问类实例的属性和其他方法。

2023-07-27 00:55:03 43 1

原创 DAY13 代码随想录 栈与队列

法二:用队列维护。

2023-07-26 20:59:06 36 1

原创 DAY11 代码随想录 栈与队列02

【代码】DAY11 代码随想录 栈与队列02。

2023-07-24 20:23:00 137

原创 DAY10 栈与队列01

队列是先进先出,栈是先进后出。1.C++中stack是容器吗?2.我们使用的stack是属于哪个版本的STL?3.我们使用的STL中stack是如何实现的?4.stack提供迭代器来遍历stack空间吗?首先在STL(C++标准库)里栈和队列是两个常见的数据结构,栈提供push和pop等接口,所有元素必须符合先进先出的规则,所有栈不提供走访功能,也不提供迭代器(iterator),不像是set或者map提供迭代器iterator来遍历所有元素。

2023-07-22 00:44:42 64

原创 DAY9 字符串02

字符串可以通过方括号[]运算来获取相应索引位置的字符。切片共有三个参数,其中para1表示切片的开始位置,默认为0,para2表示切片截止位置(但不包含该位置,默认为字符串长度),para3表示切片的步长(默认为1)。第三个参数一般可以忽略。

2023-07-20 23:22:28 100

原创 DAY8 字符串01

思路懂了,但是有很多小点还不清楚为什么这样写!看了别人的感觉我写的太离谱太复杂了,主要是没想到直接。C++的实现思路:使用额外的字符串来进行移动。要利用range的步长去处理,就会方便很多。的类型,因此可以在不新建字符串的情况下。利用python强大的功能,直接切片!在C++语言中,string被设计为。用了一堆python的内置函数。使用vector容器中的。首先明确for循环结构。函数可以实现翻转字符串。就可以删除所有空格了…

2023-07-20 00:56:04 58

原创 DAY7 哈希表02

哈希表确实适用于快速查找某个值,但是不能死套,比如找字母确实直接做一个26大小的哈希表记录次数就行了。但是有时候当时数字范围很大的时候,要灵活地想。不能上来就做哈希表。而且有时候双指针或许会比哈希表效率更好。

2023-07-19 14:47:10 35

原创 DAY6 哈希表01

(hash table)是根据关键码的值而直接进行访问的数据结构。简单来讲,数组就是一张哈希表,哈希表中关键码就是数组的索引下标,然后通过下标直接访问数组中的元素。

2023-07-18 23:58:35 247 1

原创 DAY4 代码随想录 链表2

单链表在表头插入节点的时间复杂度O(1),在表尾插入节点的时间复杂度为O(N)。从一个具有n个结点的单链表中查找其值等于x的结点时,在查找成功的情况下,需要平均比较(n+1)/2个元素结点。链表和数组的区别1. 存储结构上数组的存储空间是静态的,连续分布的,初始化的过程会造成空间浪费。(数组的大小是固定的链表的存储空间是动态分布的,只要内存空间有空余就不会溢出;链表中的每个节点除了域值外,还有链域(先一个节点的地址上),这样空间利用率会变高。

2023-07-18 20:29:09 56 1

原创 DAY3 代码随想录 链表1

链表是通过指针串联在一起的线性结构,每个结点由两部分组成——数据域和指针域(存放指向下一节点的指针)最后一个节点的指针域指向Null(空指针)

2023-07-15 00:22:03 79 1

原创 DAY2 代码随想录算法训练营|数组2

待补充。

2023-07-14 01:30:43 200

原创 DAY1 代码随想录算法训练营

数组是存放在上的的集合。

2023-07-12 20:10:11 49 1

空空如也

空空如也

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

TA关注的人

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