自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 ModuleNotFoundError: No module named ‘torch_scatter‘

新建一个名字叫torch_scatter.py的脚本,然后就可以调用本地的脚本了。大概率是cuda的版本问题,看了很多解决方案,都不舒服。

2024-06-06 21:58:32 257

原创 conda 配源

每次都要找,存一个方便用。

2024-06-06 14:51:57 311

原创 labelme2coco

【代码】labelme2coco。

2023-11-03 14:19:00 238

原创 json2label

【代码】json2label。

2023-11-03 14:17:55 155

原创 pplabel2split

【代码】pplabel2split。

2023-11-03 14:17:24 112

原创 pplabel2json

【代码】pplabel2json。

2023-11-03 14:15:57 83

原创 Java # Java容器

如果添加时发现容量不够,则需要扩容。k-v 为了方便程序员的遍历,还会 创建 EntrySet 集合,该集合存放的元素的类型 Entry,而一个Entry对象就有K,V Entryset<Entry<k,V>>即:transient Set<Map.Entry<K, V>> entrySet;在Java8中,如果一条链表的元素个数超过 TREEIFY THRESHOLD(默认是8),并且 table的大小>=MIN_TREEIFY_ CAPACITY((默认64),就会进行树化(红黑树)。

2023-09-06 16:04:12 141

原创 Java # Java基础八股

1). 封装是指封装成抽象的类,并且对于可信的类或者对象,是可以操作的,对于不可信的进⾏隐藏。3). 多态是基于继承的,他是指⽗类中定义的属性和⽅法被⼦类继承之后,可以具有不同的数据类型或者表现出不同的⾏为,使得同⼀个属性在⽗类及其⼦类中具有不同的含义。:指finalize()方法,时Object类的方法,是在对象被垃圾回收器回收之前调用的,可以通过重写这个finalize()方法,给对象自己最后一个复活的机会,但不能保证finalize()方法立即执行,什么时候调用具体有虚拟机决定。

2023-09-06 15:55:12 95

原创 Java # 类加载子系统

1、 类加载器子系统负责从文件系统或者网络中加载Class文件2、classloader只负责类的加载,至于他是否能够运行由执行引擎来决定3、加载的类的信息会存放在方法区(元空间)中。

2023-08-15 09:46:01 164

原创 Java # javaweb前置

tomcat。

2023-08-14 19:43:21 131

原创 Java # JVM内存管理

程序计数器、Java虚拟机栈、本地方法栈、Java堆、方法区、运行时常量池、直接内存。

2023-08-14 15:18:46 505

原创 Java # JVM

运行时数据区(进程共享)进程私有区域。

2023-08-14 14:21:32 1286

原创 java # Servlet

ServletContext是一个接口,它表示Servlet上下文对象在web.xml中<context-param>中配置Servlet上下文信息,不单独属于某个<servlet>,在所有<servlet>外面一个web工程,只有一个ServletContext对象实例ServletContext对象作用域是整个web工程HTTP协议是指客户端与服务器之间通信时,发送的数据需要遵守的规则。

2023-08-14 09:07:37 616

原创 Java # Spring(1)

1、核心技术:依赖注入(DI),AOP,事件(events),资源,i18n,验证,数据绑定,类型转换,SpEL。2、测试:模拟对象,TestContext框架,Spring MVC测试,WebTestClient。3、数据访问:事务,DAO支持,JDBC,ORM,编组XML。4、Web支持:Spring MVC和Spring WebFlux Web框架。5、集成:远程处理,JMS,JCA,JMX,电子邮件,任务,调度,缓存。6、语言:Kotlin,Groovy,动态语言。

2023-08-10 09:17:11 805

原创 Java # Spring(2)

将控制逻辑和表现逻辑混杂在一起,导致代码重用率极低。前端和后端相互依赖,难以进行测试并且开发效率极低。抽象和封装程度远远不够。重复造轮子,降低了程序的可维护性和复用性。MVC是一种设计模式,Spring MVC一款很优秀的MVC框架,天生与Spring框架集成。Spring MVC下我们一般把后端项目分为Service层(处理业务)、Dao层(数据库操作)、Entity层(实体类)、Controller层(控制层,返回数据给前台页面)

2023-08-09 15:30:17 899 1

原创 Java # List

更多的情况下我们使用 ArrayList 访问列表中的随机元素更加高效,但以下几种情况 LinkedList 提供了更高效的方法。与 ArrayList 相比,LinkedList 的增加和删除的操作效率更高,而查找和修改的操作效率较低。ArrayList是List的古老实现类,底层使用Object[]存储的,线程不安全。Vector是List的古老实现类,底层也是用Obejct[]存储的,线程安全。LinkedList 实现了 List 接口,可进行列表的相关操作。

2023-08-07 21:23:22 2399

原创 Java # StringTable

执行过程:如果当前字符串在字符串常量池中已存在,则返回其在常量池中的地址即可;若不存在,则会将当前字符串添加到字符串常量池后,并返回其地址(JDK6和JDK7以后有差别)tips:当需要在内存中存储大量的字符串时,调用intern()方法,会明显降低内存的大小。Interned String就是确保字符串在内存里只有一份拷贝(节省空间,提升速度)作用:将String添加到字符串常量池中。方法2:使用intern()方法。属于native()方法。方法1:使用字符字面量。

2023-07-25 20:57:04 170

原创 Java # Java容器

一、概览CollectionSet TreeSet: 无序,不可重复,自动排序; 存放在TreeSet中相当于存放到TreeMap的key部分 HashSet: 无序,不可重复,支持快速查找; 存放在HashSet中相当于存放到HashMap中的key部分 LinkedHashSet:基于双向链表实现,具有HashSet的查找效率 List ArrayList: 基于动态数组实现,支持随机访问 增删元素通过移动元素实现,效

2023-07-22 22:19:40 143

原创 LeetCode刷题 | 739. 每日温度、496. 下一个更大元素 I

给定一个整数数组,表示每天的温度,返回一个数组answer,其中answer[i]是指对于第i天,下一个更高温度出现在几天后。如果气温在这之后都不会升高,请在该位置用0来代替。

2023-07-22 21:57:58 78

原创 LeetCode刷题 | 503. 下一个更大元素

第一个 1 的下一个更大的数是 2;数字 2 找不到下一个更大的数;第二个 1 的下一个最大的数需要循环搜索,结果也是 2。是按数组遍历顺序,这个数字之后的第一个比它更大的数,这意味着你应该循环地搜索它的下一个更大的数。

2023-07-22 21:56:20 419

原创 Java # 类和对象

封装:将'数据'和'行为'组合在一个包中,并对对象的使用者“隐藏了数据的实现方式”.1. 封装的要义封装的关键在于不能让类中的方法'直接'地访问其他类的实例字段。程序“只能“通过对象的方法与对象数据进行交互。即,需要将类中的实例字段全设置为private,然后根据具体要求决定是否提供对应的public 方法 (set、get)2. 为什么要封装?

2023-07-06 10:20:47 93

原创 LeetCode刷题 | 647. 回文子串、516. 最长回文子序列

给你一个字符串s,请你统计并返回这个字符串中的数目。是正着读和倒过来读一样的字符串。是字符串中的由连续字符组成的一个序列。具有不同开始位置或结束位置的子串,即使是由相同的字符组成,也会被视作不同的子串。s = "abc"3三个回文子串: "a", "b", "c"s = "aaa"66个回文子串: "a", "a", "a", "aa", "aa", "aaa"动归五部曲:1. 确定dp数组和下标的含义。

2023-07-06 09:16:31 476

原创 LeetCode刷题 | 583. 两个字符串的删除操作、72. 编辑距离

给定两个单词word1和word2,返回使得word1和word2所需的。可以删除任意一个字符串中的一个字符。2第一步将 "sea" 变为 "ea" ,第二步将 "eat "变为 "ea"4动归五部曲:1. 确定dp数组以及下标的含义dp[i][j]表示将下标0~i-1的子串word1和下标0~j-1的子串变得相同需要删除元素的最少次数。2. 递推公式当word1[i - 1] 与 word2[j - 1]相同的时候,dp[i][j] = dp[i - 1][j - 1];

2023-07-04 21:35:58 280

原创 LeetCode刷题 | 392. 判断子序列、115. 不同的子序列

给定字符串和,判断是否为的子序列。字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串。(例如,"ace"是"abcde"的一个子序列,而"aec"不是)。如果有大量输入的 S,称作 S1, S2, ... , Sk 其中 k >= 10亿,你需要依次检查它们是否为 T 的子序列。在这种情况下,你会怎样改变代码?truefalse动归五部曲:1. 确定dp数组(dp table)以及下标的含义。

2023-07-04 14:29:25 99

原创 Java # volatile关键字

在JDK1.2之前,Java的内存模型实现总是从主存中读取变量。

2023-07-03 09:53:09 84

原创 Java # 泛型

泛型即参数化类型,只在编译阶段有效,在逻辑上可以看成是多个不同的类型,实际上都是相通的基本类型。

2023-07-01 22:15:11 146

原创 LeetCode刷题 | 1143. 最长公共子序列、1035. 不相交的线、53. 最大子数组和

给定两个字符串text1和text2,返回这两个字符串的最长的长度。如果不存在,返回0。一个字符串的是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符(也可以不删除任何字符)后组成的新字符串。"ace""abcde""aec""abcde"两个字符串的是这两个字符串所共同拥有的子序列。3最长公共子序列是 "ace" ,它的长度为 3。3最长公共子序列是 "abc" ,它的长度为 3。0两个字符串没有公共子序列,返回 0。动归五部曲:1. 确定dp数组以及下标的含义。

2023-07-01 16:46:36 409

原创 LeetCode刷题 | 300. 最长递增子序列、674. 最长连续递增序列、718. 最长重复子数组

给你一个整数数组nums,找到其中最长严格递增子序列的长度。是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,[3,6,2,7]是数组的子序列。4最长递增子序列是 [2,3,7,101],因此长度为 4。41动归五部曲:1. 确定dp数组和下标的含义dp[i]表示i之前包括i的以nums[i]结尾的最长递增子序列的长度2. 状态转移方程3. dp[i]初始化任意dp[i]起始都是14. 确定遍历顺序从前往后遍历5. 举例推导dp数组。

2023-06-30 16:16:37 324

原创 继承、反射、异常

如果一个类中包含抽象方法,那么这个类必须声明为抽象类。从Java9 开始,允许將方法定义为private(只能作为当前接口其他方法的辅助方法,不能在外面使用)在Java8之前,它可以看成是一个完全抽象的类,也就是说它不能有任何的方法实现。接口的字段只能是static 和final 类型的,而抽象类的字段没有这种限制。接口的成员只能是 public 的,而抽象类的成员可以有多种访问权限。一个类可以实现多个接口,但是至多只能继承一个抽象类。接口的方法默认都是 public的。接口是抽象类的延伸。

2023-06-30 09:34:31 222

原创 Object通用方法

对于引用类型,==判断两个变量是否引用同一个对象,而 equals() 判断引用的对象是否等价。使用 clone()方法来拷贝一个对象即复杂又有风险,它会抛出异常,并日还需要类型转换。最好不要去使用clone(),可以使用拷贝构造函数或者拷贝工厂来拷贝一个对象。对于基本类型,==判断两个值是否相等,基本类型没有 equals0 方法。浅拷贝:拷贝对象和原始对象的引用类型引用同一个对象。深拷贝:拷贝对象和原始对象的引用类型引用不同对象。@后面的数值为散列码的无符号十六进制表示。

2023-06-30 09:11:19 198

原创 LeetCode刷题 | 309. 最佳买卖股票时机含冷冻期、714. 买卖股票的最佳时机含手续费

给定一个整数数组prices,其中第prices[i]表示第i天的股票价格。​设计一个算法计算出最大利润。你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。3对应的交易状态为: [买入, 卖出, 冷冻期, 买入, 卖出]0动归五部曲:1. 确定dp数组和下标的含义dp[i][j],第i天状态为j,所剩的最多现金为dp[i][j]2. 确定递推公式3. dp数组初始化4. 遍历顺序从前往后遍历5. 举例推导dp数组。

2023-06-29 15:22:17 139

原创 Java的基本程序设计结构

if-else : 判断语句while循环:循环体中可能一次都不执行do-while循环:循环体至少执行一次for循环foreach循环:for(元素类型type 元素变量value :遍历对象obj)引用x的java语句switch语句:如果在case分支语句的末尾没有break语句,那么就会接誉执行下—个case分枝语句。:goto(java保留字,java中并未使用):break(跳出循环):continue(越过当前循环,跳到循环首部)

2023-06-29 10:02:54 207

原创 Java特点

面向对象,可以不用严格按照顺序来执行每个动作 摒弃了C++中难以理解的多继承、指针、内存管理等概念;不用手动管理对象的生命周期 功能强大,简单易用,框架较多,使开发快速便捷 静态语言,在编译期间就能知道数据类型,在运行前就能检查类型的正确性,一旦类型确定后就不能再更改。静态语言的执行效率要比动态语言高,速度更快。 具有平台独立性和可移植性,跨平台是指已编译的Java程序可以在任何带有JVM的平台上运行,不同的操作系统有不同的JVM实现,切换平台时,不需要再次编译Java代码。 能够容易地实现多线程

2023-06-29 09:13:34 62

原创 LeetCode刷题 | 123. 买卖股票的最佳时机 III、188. 买卖股票的最佳时机 IV

给定一个数组,它的第i个元素是一支给定的股票在第i天的价格。设计一个算法来计算你所能获取的最大利润。你最多可以完成交易。你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。6在第 4 天(股票价格 = 0)的时候买入,在第 6 天(股票价格 = 3)的时候卖出,这笔交易所能获得利润 = 3-0 = 3。随后,在第 7 天(股票价格 = 1)的时候买入,在第 8 天 (股票价格 = 4)的时候卖出,这笔交易所能获得利润 = 4-1 = 3。4。

2023-06-28 16:16:07 127

原创 LeetCode刷题 | 121. 买卖股票的最佳时机、122. 买卖股票的最佳时机 II

给定一个数组prices,它的第i个元素prices[i]表示一支给定股票第i天的价格。你只能选择买入这只股票,并选择在卖出该股票。设计一个算法来计算你所能获取的最大利润。返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回0。5在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5。注意利润不能是 7-1 = 6, 因为卖出价格需要大于买入价格;同时,你不能在买入前卖出股票。0。

2023-06-27 20:11:03 252

原创 LeetCode刷题 | 198. 打家劫舍、337. 打家劫舍 III

你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,。给定一个代表每个房屋存放金额的非负整数数组,计算你,一夜之内能够偷窃到的最高金额。[1,2,3,1]4偷窃 1 号房屋 (金额 = 1) ,然后偷窃 3 号房屋 (金额 = 3)。偷窃到的最高金额 = 1 + 3 = 4。12偷窃 1 号房屋 (金额 = 2), 偷窃 3 号房屋 (金额 = 9),接着偷窃 5 号房屋 (金额 = 1)。

2023-06-27 15:51:37 433

原创 LeetCode刷题 | 139. 单词拆分

if([j, i] 这个区间的子串出现在字典里 && dp[j]是true) 那么 dp[i] = true。dp[i] : 字符串长度为i的话,dp[i]为true,表示可以拆分为一个或多个在字典中出现的单词。返回 true 因为 "leetcode" 可以由 "leet" 和 "code" 拼接成。不要求字典中出现的单词全部都使用,并且字典中的单词可以重复使用。dp[0]为true,下标非0的dp[i]初始化为false。请你判断是否可以利用字典中出现的单词拼接出。注意,你可以重复使用字典中的单词。

2023-06-26 20:24:58 201

原创 LeetCode刷题 | 70. 爬楼梯、322. 零钱兑换、279. 完全平方数

假设你正在爬楼梯。需要n阶你才能到达楼顶。每次你可以爬1或2个台阶。你有多少种不同的方法可以爬到楼顶呢?n = 22有两种方法可以爬到楼顶。1. 1 阶 + 1 阶 2. 2 阶n = 33有三种方法可以爬到楼顶。1. 1 阶 + 1 阶 + 1 阶 2. 1 阶 + 2 阶 3. 2 阶 + 1 阶动归五部曲:1. dp数组和下标的定义dp[i]表示有dp[i]种方法到达i阶2. 递推公式3. 初始化dp[0] = 14. 遍历顺序将target放在外循环,将nums放在内循环。

2023-06-26 20:16:06 223

原创 LeetCode刷题 | 518. 零钱兑换 II、377. 组合总和 Ⅳ、

给你一个整数数组coins表示不同面额的硬币,另给一个整数amount表示总金额。请你计算并返回可以凑成总金额的硬币组合数。如果任何硬币组合都无法凑出总金额,返回0。假设每一种面额的硬币有无限个。题目数据保证结果符合 32 位带符号整数。4有四种方式可以凑成总金额: 5=5 5=2+2+1 5=2+1+1+1 5=1+1+1+1+10只用面额 2 的硬币不能凑成总金额 3。1动归五部曲:1. dp数组和下标的含义dp[i]:凑成总金额j的货币组合数为dp[i]2. 确定递推公式。

2023-06-26 16:33:01 360

原创 LeetCode刷题 | 1049. 最后一块石头的重量 II、494. 目标和、474. 一和零

有一堆石头,用整数数组stones表示。其中stones[i]表示第i块石头的重量。每一回合,从中选出,然后将它们一起粉碎。假设石头的重量分别为x和y且x <= y。x == yx!= yxyy-x最后,石头。返回此石头。如果没有石头剩下,就返回0。1。

2023-06-25 22:01:45 102

空空如也

空空如也

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

TA关注的人

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