自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Ricardo_lun的博客

ZSL你为什么还不去学习!

  • 博客(11)
  • 收藏
  • 关注

原创 2021-04-14

Leetcode 两数相加给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例 1:输入:l1 = [2,4,3], l2 = [5,6,4]输出:[7,0,8]解释:342 + 465 = 807.示例 2:输入:l1 = [0], l2 = [0]输出:[0]示例 3:输入:l1 = [9,9,9,

2021-04-14 17:32:49 152

原创 LRU缓存机制实现

LRU缓存机制LRU实现代码LRULeast Recently Used的缩写,即最近最少使用,是一种常用的页面置换算法,选择最近最久未使用的页面予以淘汰。实现哈希表 + 双向链表用一个哈希表和一个双向链表维护所有在缓存中的键值对。双向链表按照被使用的顺序存储了这些键值对,靠近头部的键值对是最近使用的,而靠近尾部的键值对是最久未使用的。这样以来,我们首先使用哈希表进行定位,找出缓存项在双向链表中的位置,随后将其移动到双向链表的头部,即可在 O(1)的时间内完成 get 或者 put 操作。上

2020-06-30 21:22:09 209

原创 算法:和为s的连续正数序列

和为s的连续正数序列例如:输入:target = 15输出:[[1,2,3,4,5],[4,5,6],[7,8]]思路:滑动窗口法滑动窗口的重要性质是:窗口的左边界和右边界永远只能向右移动,而不能向左移动。这是为了保证滑动窗口的时间复杂度是 O(n)。如果左右边界向左移动的话,这叫做“回溯”,算法的时间复杂度就可能不止 O(n)。当窗口的和小于 target 的时候,窗口的和需要增...

2020-03-07 00:58:43 208

原创 算法:两个链表的第一个公共子节点

两个链表的第一个公共子节点思路:使用两个指针 node1,node2 分别指向两个链表 headA,headB 的头结点,然后同时分别逐结点遍历,当 node1 到达链表 headA 的末尾时,重新定位到链表 headB 的头结点;当 node2 到达链表 headB 的末尾时,重新定位到链表 headA 的头结点。这样,当它们相遇时,所指向的结点就是第一个公共结点。其实可以理解为两个链表...

2020-03-05 20:20:26 275

原创 算法:求第n个丑数

求第n个丑数我们把只包含因子 2、3 和 5 的数称作丑数(Ugly Number)。求按从小到大的顺序的第 n 个丑数。例: 1, 2, 3, 4, 5, 6, 8, 9, 10, 12 是前 10 个丑数。思路:将前面求得的丑数记录下来,后面的丑数就是前面的丑数*2,*3,*5,已知前面k-1个丑数,采取用三个指针的方法p2,p3,p5,这里p2指向的数字下一次永远乘2,p3指向的数字下...

2020-03-05 17:57:07 619

原创 算法:最长无重复子串

最长无重复子串思路:动态规划,用map记录每个字符上次出现的index,则以第 i 个字符结尾的最长子串 dp[i] 的更新规则如下:若字符 i 与它上次出现的位置 index[i] 之间的距离差不大于 第 i-1 字符结尾的最长无重复子串: dp[ i ] = i - index[ i ]否则:dp[ i ] = dp[ i - 1 ] + 1 int lengthOfL...

2020-03-04 21:56:44 818

原创 算法:礼物最大值

礼物最大值在一个 m*n 的棋盘的每一格都放有一个礼物,每个礼物都有一定的价值(价值大于 0)。你可以从棋盘的左上角开始拿格子里的礼物,并每次向右或者向下移动一格、直到到达棋盘的右下角。给定一个棋盘及其上面的礼物的价值,请计算你最多能拿到多少价值的礼物?思路:采用dfs递归,将到达边界的最大值返回,递归时间太长不推荐采用双重动态规划:class Solution {pu...

2020-03-02 21:08:24 280

原创 算法:数据流求中位数

求数据流的中位数1. 数组未排序的数组:采用快排的 Partition()。因此,插入时间复杂度是O(1) ,而找中位数的时间复杂度是 O(n)。排序的数组:适合使用插入排序,插入的时间复杂度是 O(n),而找中位数的时间复杂度是 O(1)。2.链表排序的链表,插入的时间复杂度还是O(n) ,找中位数的时间复杂度是 O(n),这里对链表中间节点做个标记,可以降低到O(1)3...

2020-02-29 20:18:11 544

原创 ROS项目开发实战(三)——使用QT进行ROS的GUI界面设计(详细教程附代码!!!)

序    本篇博客主要介绍怎么使用qt对ros进行gui设计与调试,包括使用列表视图显示ROS话题发布与接收的消息,点击QT按钮按钮进行ros消息的发布。在阅读本文之前没有安装QT与配置环境可以参考博文:如何用Qt的对ROS项目进行调试及创建GUI界面。最近有个项目需要对ROS进行GUI设计,而ROS在这方面开发教程实在是很少,去师兄那里取经之后就开始干活了,现将自己的详细经验分享。...

2018-04-23 12:37:16 22908 19

原创 ROS项目开发实战(二)——不同ROS版本的多计算机通信

序    ROS多机通信就是多个装有ROS的不同计算机之间共用同一个ROS主机(Master)实现节点与话题共享,本人经验建议当你遇到以下问题时候可以尝试使用多机通信解决:Case①: 一个team多个成员共同开发一个ROS项目,但是不同成员可能安装的ubuntu版本与ROS版本不同,当需要将各个成员完成的模块进行集成调试时可以使用多机通信;Case②:   当你要使用一个ROS包却发现使用软件源...

2018-04-19 00:28:11 4897

原创 ROS项目开发实战(一)——STM32与ROS串口通信

序    本文主要发布一些作者从零开始开发ROS的项目实战经验,包括一些经验与本文遇到坑时的解决方案,ROS因为版本不同与开发环境不同在实际开发中会遇到各类问题,下面就细细道来。一、环境搭建    本人开发环境 ——上位机:MAC主机+PD虚拟机+Ubuntu12.04(64位)+Hydro,底层:STM32F407    先说下为什么是PD虚拟机,现在主流的电脑安装Ubuntu容易出现没有无线网...

2018-04-17 11:38:02 16783 6

空空如也

空空如也

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

TA关注的人

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