- 博客(24)
- 收藏
- 关注
原创 Leetcode 每日一题之两数相加
给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字 0 之外,这两个数都不会以 0 开头。输入: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,9,9,9,9], l2 = [9,9,
2021-12-22 23:24:44 182
原创 python里的def方法中->代表什么意思
注释__annotations__ 作为字典存储在函数的属性中,对函数的任何其他部分都没有影响。参数注释由参数名称后面的冒号定义,后跟一个表达式,用于评估注释的值。返回注释由->参数列表和冒号表示def语句结尾之间的文字,后跟表达式定义。以下示例具有位置参数,关键字参数和注释的返回值:def f(ham: str, eggs: str = 'eggs') -> str: print("Annotations:", f.__annotations__) print("Argume
2021-12-16 16:34:01 1763
原创 leetcode 每日一题 53. 最大子数组和
给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。子数组 是数组中的一个连续部分。示例 1:输入:nums = [-2,1,-3,4,-1,2,1,-5,4]输出:6解释:连续子数组 [4,-1,2,1] 的和最大,为 6 。示例 2:输入:nums = [1]输出:1示例 3:输入:nums = [5,4,-1,7,8]输出:23来源:力扣(LeetCode)链接:https://leetcode-cn.com/proble
2021-12-05 21:43:17 573
原创 每日一题之217. 存在重复元素
给定一个整数数组,判断是否存在重复元素。如果存在一值在数组中出现至少两次,函数返回 true 。如果数组中每个元素都不相同,则返回 false 。示例 1:输入: [1,2,3,1]输出: true示例 2:输入: [1,2,3,4]输出: false示例 3:输入: [1,1,1,3,3,4,3,2,4,2]输出: true来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/contains-duplicate著作权归领扣网络所有
2021-12-05 19:54:52 138 1
原创 每日一题之旋转数组
描述一个数组A中存有N(N>0)个整数,在不允许使用另外数组的前提下,将每个整数循环向右移M(M>=0)个位置,即将A中的数据由(A0 A1 ……AN-1 )变换为(AN-M …… AN-1 A0 A1 ……AN-M-1 )(最后M个数循环移至最前面的M个位置)。如果需要考虑程序移动数据的次数尽量少,要如何设计移动的方法?示例1输入:6,2,[1,2,3,4,5,6]复制返回值:[5,6,1,2,3,4]复制备注:(1<=N<=100,M>=0)im
2021-08-17 20:50:13 99
原创 每日一题之有序数组的平方
给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。示例 1:输入:nums = [-4,-1,0,3,10]输出:[0,1,9,16,100]解释:平方后,数组变为 [16,1,0,9,100]排序后,数组变为 [0,1,9,16,100]示例 2:输入:nums = [-7,-3,2,3,11]输出:[4,9,9,49,121]提示:1 <= nums.length <= 104-104 <= nums
2021-08-05 17:01:55 442
原创 每日一题之搜索插入位置
给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。请必须使用时间复杂度为 O(log n) 的算法。示例 1:输入: nums = [1,3,5,6], target = 5输出: 2示例 2:输入: nums = [1,3,5,6], target = 2输出: 1示例 3:输入: nums = [1,3,5,6], target = 7输出: 4示例 4:输入: nums = [1,3,5,6], target
2021-08-04 22:42:31 169
原创 每日一题之 第一个错误的版本
你是产品经理,目前正在带领一个团队开发新的产品。不幸的是,你的产品的最新版本没有通过质量检测。由于每个版本都是基于之前的版本开发的,所以错误的版本之后的所有版本都是错的。假设你有 n 个版本 [1, 2, …, n],你想找出导致之后所有版本出错的第一个错误的版本。你可以通过调用 bool isBadVersion(version) 接口来判断版本号 version 是否在单元测试中出错。实现一个函数来查找第一个错误的版本。你应该尽量减少对调用 API 的次数。示例 1:输入:n = 5, bad
2021-08-03 23:00:48 93
原创 每日一题之二分查找
给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。示例 1:输入: nums = [-1,0,3,5,9,12], target = 9输出: 4解释: 9 出现在 nums 中并且下标为 4示例 2:输入: nums = [-1,0,3,5,9,12], target = 2输出: -1解释: 2 不存在 nums 中因此返回 -1提示:你可以假设 nums 中的所
2021-08-03 21:24:29 132
原创 谷歌cartographer+EAI的YDLIDAR-X4激光雷达建图实现(二)
这几天在做谷歌cartographer算法实现,前两天实现了谷歌cartographer室内建图的实现,不过所建之图是基于谷歌提供的博物馆的数据,我们只是将数据包下载之后复现而已,并不是我们自己实验室或者周围的地图,由上一篇博客点击打开链接实现的建图我们可以看到,在没有里程计等其他传感器的协助之下,仅仅依靠激光测距仪和算法就完成了效果甚至优于其他多传感器结合的2D地图,如此优秀的开源我们当然希望能用在我们自己的机器人或者传感器上,而不是仅仅做一下仿真。于是拿实验室的EAI的激光雷达X4来进行实验室建图。网上
2021-06-26 19:44:50 1240
原创 谷歌cartographer+EAI的YDLIDAR-X4激光雷达建图实现(一)
ubuntu16.04 ROSUbuntu16.04(kinetic)安装cartographer1.需要安装3个软件包,ceres solver、cartographer和cartographer_ros。为了管理方便,建立carto目录来存放ceres solver、cartographer。mkdir -p ~/carto2.安装依赖sudo apt-get install -y google-mock libboost-all-dev libeigen3-dev libgflags-de
2021-06-26 19:30:52 940
原创 ubuntu16.0 ROS(介绍EAI的YDLIDAR-X4激光雷达在ROS下使用方法)
YDLIDAR-X4激光雷达介绍YDLIDAR X4激光雷达是深圳越登智能科技有限公司(YDLIDAR,这家公司属于EAI)研发的一款 360 度二维测距产品,本产品基于三角测距原理,并配以相关光学、电学、算法设计,实现高频高精度的距离测量,在测距的同时,机械结构 360 度旋转,不断获取角度信息,从而实现了 360 度扫描测距,输出扫描环境的点云数据。这款激光雷达是市面上性价比较好的一款,截止目前现在已经将价格降到449元,大家可以在EAI的淘宝官网查看到最新价格。由上图大家可知,该雷达其实很小巧
2021-06-25 15:24:46 2743 4
原创 树莓派4B在Ubuntu18.04安装ROS操作系统
一、Ubuntu 安装 ROS操作系统Melodic1.1设置你的 sources.list设置你的计算机以接受来自 packages.ros.org 的软件。sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'1.2设置你的密钥curl -s https://raw.githubuserconte
2021-06-23 19:52:38 382
原创 树莓派4B烧录Ubuntu 18.04 系统
一、树莓派烧录Ubuntu-18.04本文用的是32G内存卡,安装ubuntu-18.04.5-preinstalled-server-arm64+raspi3系统,是64位系统。下载镜像,选择 ubuntu-18.04.3-preinstalled-server-armhf+raspi3.img.xz 的镜像进行下载从官方下载镜像:https://wiki.ubuntu.com/ARM/RaspberryPi或者从这里下载: http://cdimage.ubuntu.com/releases/1
2021-06-21 23:36:43 3201 4
原创 leetcode 每日一题之四数相加--小白呕心制作
给定四个包含整数的数组列表 A , B , C , D ,计算有多少个元组 (i, j, k, l) ,使得 A[i] + B[j] + C[k] + D[l] = 0。为了使问题简单化,所有的 A, B, C, D 具有相同的长度 N,且 0 ≤ N ≤ 500 。所有整数的范围在 -228 到 228 - 1 之间,最终结果不会超过 231 - 1 。例如:输入:A = [ 1, 2]B = [-2,-1]C = [-1, 2]D = [ 0, 2]输出:2解释:两个元组如下:
2020-11-27 14:38:19 434
原创 验证回文串---小白呕心制作
给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。说明:本题中,我们将空字符串定义为有效的回文串。示例 1:输入: “A man, a plan, a canal: Panama”输出: true示例 2:输入: “race a car”输出: falseclass Solution(object): def isPalindrome(self, s): """ :type s: str :rtype: b
2020-11-25 21:09:05 222
原创 给出一个完全二叉树,求出该树的节点个数-LeetCode每日一题 小白呕心制作
给出一个完全二叉树,求出该树的节点个数。说明:完全二叉树的定义如下:在完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层的节点都集中在该层最左边的若干位置。若最底层为第 h 层,则该层包含 1~ 2h 个节点。示例:输入:1/ 2 3/ \ /4 5 6输出: 6来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/count-complete-tree-nodes思路:1.先递归计算出完全
2020-11-24 12:38:15 568 6
原创 程序员的自我修炼---小白成长历程
读研时期晚上十一点,下实验室的放松自拍,消除了一天的疲劳大四在上海通联金融实习的证件照大四背诵政治后决定把头发换个颜色大四在写别业论文时的自拍当时嗓子不算太好戴上了口罩考完研后在南京游玩的摆拍第一次梳中分的图片考完研在孔子面拍的在大学校园的...
2020-11-23 15:44:02 437 10
原创 用最少数量的箭引爆气球--小白呕心制作
在二维空间中有许多球形的气球。对于每个气球,提供的输入是水平方向上,气球直径的开始和结束坐标。由于它是水平的,所以纵坐标并不重要,因此只要知道开始和结束的横坐标就足够了。开始坐标总是小于结束坐标。一支弓箭可以沿着 x 轴从不同点完全垂直地射出。在坐标 x 处射出一支箭,若有一个气球的直径的开始和结束坐标为 xstart,xend, 且满足 xstart ≤ x ≤ xend,则该气球会被引爆。可以射出的弓箭的数量没有限制。 弓箭一旦被射出之后,可以无限地前进。我们想找到使得所有气球全部被引爆,所需的弓箭
2020-11-23 15:24:23 2004 12
原创 链表排序---进阶版 降低复杂度
给你链表的头结点 head ,请将其按 升序 排列并返回 排序后的链表 。进阶:你可以在 O(n log n) 时间复杂度和常数级空间复杂度下,对链表进行排序吗?示例 1:输入:head = [4,2,1,3]输出:[1,2,3,4]示例 2:输入:head = [-1,5,3,4,0]输出:[-1,0,3,4,5]示例 3:输入:head = []输出:[]提示:链表中节点的数目在范围 [0, 5 * 104] 内-105 <= Node.val <= 105
2020-11-21 15:54:24 393
原创 leetcode 合并两个有序链表---小白呕心制作
将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/merge-two-sorted-lists# Definition for singly-linked list.# class ListNode(object)
2020-11-21 10:54:53 573
原创 leetcode 小白创作之旅 逆序求和
给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> 0 -> 8原因:342 + 465 = 807来源:力扣(LeetCode)链接:https://leetcode
2020-11-20 16:48:43 391
原创 python 代码小白之leetcode 两数之和
class Solution(object): def twoSum(self, nums, target): """ :type nums: List[int] :type target: int :rtype: List[int] """ n=len(nums) for i in range(n): for j in range(i+1,n):
2020-11-19 17:29:00 138 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人