自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 LIO-SAM配置

出现存储空间不足问题:参考https://blog.csdn.net/weixin_56017984/article/details/123433167?bash: /home/gyh/catkin_ws/devel/setup.bash: 没有那个文件或目录。chmod: 更改’/usr/lib/sudo/sudoers.so’ 的权限: 不允许的操作。sudo: /usr/lib/sudo/sudoers.so 必须只对其所有者可写。在工作空间下克隆Lio-sam工程,安装lio-sam。

2023-07-06 18:44:28 383 1

原创 ubuntu1804 ros配置

无公钥报错:sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys F42ED6FBAB17C654 再sudo apt update。文件末尾加上151.101.84.133 raw.githubusercontent.com。用手机热点开了梯子下载好了,比上一次顺利w。第一次启动ros要进行环境变量配置。安装ros-melodic。安装rosinstall。安装rosdep命令。

2023-07-06 16:34:45 182 1

原创 【LeetCode刷题】Day09 栈与队列基础Ⅰ

栈实现队列,队列实现栈

2023-02-04 23:17:00 157

原创 【LeetCode刷题】Day08 字符串基础Ⅱ(KMP算法)

KMP算法难难难

2023-02-04 14:15:40 427

原创 【LeetCode刷题】Day07 字符串基础Ⅰ

字符串相关题目

2023-02-02 15:08:47 105

原创 【LeetCode刷题】Day06 哈希表基础Ⅱ

四数相加,赎金信,三数之和,四数之和

2023-01-31 15:45:55 151

原创 【LeetCode刷题】Day05 哈希表基础Ⅰ

哈希表相关题目,注意数组setmap的适用条件

2023-01-30 18:39:35 91

原创 【LeetCode刷题】Day04 链表基础Ⅱ

交换链表节点,删除倒数节点,找到两个链表相交节点,环形链表

2023-01-29 17:05:03 77

原创 【LeetCode刷题】Day03 链表基础Ⅰ

链表基础,链表基本操作,反转链表

2023-01-27 11:40:29 116

原创 【LeetCode刷题】Day02 数组基础Ⅱ

双指针法,滑动窗口法以及模拟类题目

2023-01-13 22:37:28 103

原创 【LeetCode刷题】Day01 数组基础Ⅰ

二分法,移除元素

2023-01-12 23:32:05 107

原创 关于等价性的理解

不可变对象的引用等价性 & 对象等价性引用等价性相同内存地址对于:基本数据类型equals()对象等价性对于:对象类型在自定义ADT时,需要用@Override重写Object.equals()(在Object中实现的缺省equals()是在判断引用等价性)如果用,是在判断两个对象身份标识 ID是否相等(指向内存里的同一段空间)equals() & hashCode()equals()的性质:自反、传递、对称、一致性equals()重写范例判断引用等价性判断类的一致性判断具体值是否满

2021-07-10 00:08:02 622

原创 关于ADT的理解

设计ADT:规格Spec–>表示Rep–>实现Impl四类ADT操作Creators实现:构造函数constructor或静态方法(也称factory method)Producers需要有“旧对象”return新对象eg. String.concat()Observerseg. List的.size()Mutators改变对象属性若返回值为void,则必然改变了对象内部状态(必然是mutator)表示独立性client使用ADT时无需考虑其内部如何实现,ADT内部表示的变化不应

2021-07-09 23:57:29 883

原创 关于设计模式的理解

#创建型模式工厂方法模式我们需要向用户提供接口,但是接口中不能存在构造方法,故用工厂方法来提供构造器。我们并不希望用户知道我们的内部类实现,所以用工厂方法提供构造器。工厂方法:定义一个用于创建对象的接口,让该接口的子类型来决定实例化哪一个类,从而使一个类的实例化延迟到子类。(即定义一个接口(构造产品接口类),具体实例化的类(实现产品接口子类型的构造方法)继承该接口,重写具体构造方法,需要创建哪个,就调用哪个具体的构造类。)注:工厂接口中可以包括其他方法。具体实现类可以用static静态函数来创建对

2021-07-07 13:46:02 58

原创 LocalDate

#Date是可变类型,不安全。#用LocalDate替代,LocalDate不可变。下面展示:long gap;LocalDate starttime, endtime;starttime = LocalDate.of(year, month, day);//日期endtime = LocalDate.of(year1, month1, day1); //日期gap = endtime.toEpochDay() - starttime.toEpochDay();//日期差(每个都转换为long

2021-07-02 20:07:43 165

原创 关于可复用性的理解

#可复用性什么是软件可复用性?硬件,CPU,显卡可复用性软件复用就是用已存在的软件模块执行更新软件。面向复用编程:开发出可复用软件。基于复用编程:利用已有的可复用软件搭建应用系统。基于复用编程:分析相似性+差异性。越抽象的越容易复用。选取,适配,修改,扩展。往往无法拿来就用,需要适配,可靠性建立在外部基础上。为什么复用?降低成本,开发时间,经过充分测试,可靠,稳定,标准化,在不同应用中保持一致。但需要代价,代价也高(抽象)。开发可复用的软件:高成本,高适应,性能差,针对性差。使用已有软

2021-07-01 17:27:28 893

原创 集合Set边遍历边删除

#直接用for遍历删除会抛出异常#改用Iterator迭代器实现遍历删除注意:删除时要用iterator的remove方法 下面展示:// A code blockIterator<Element<L>> iterator = repeat.iterator(); while(iterator.hasNext()) { Element<L> elem = iterator.next(); if(elem.getLabel().equals(la

2021-07-01 17:25:18 1187

原创 软构复习1 2

软构复习1 2#软件构造的多维度视图和质量指标一.从三个维度看软件系统的构成1.按阶段划分:build- and run- time views2.按动态性划分:moment and period views3.按构造对象的层次划分:code and component views4.build-time views(即code阶段)code-level view:代码的逻辑组织,比如函数,类,方法,接口等。component view:代码的物理组织,比如文件,包,库等。moment v

2021-06-28 21:10:39 282 3

空空如也

空空如也

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

TA关注的人

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