自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【Ubuntu基建】oh-my-zsh 安装

oh-my-zsh安装

2022-06-16 18:51:43 1785 1

原创 寒假刷题打卡第二十七 & 二十八天 | 动态规划

递归和动态规划都是将原问题拆成多个子问题然后求解,他们之间最本质的区别是,动态规划保存了子问题的解,避免重复计算。斐波拉契类爬楼梯答案里面还提到了,矩阵迭代的方法,二刷的时候可以看看。打家劫舍 If(n) = max(num[n]+f(n-2), num[n-1]+f(n-3)) 因为num[n] 和 nums[n-1] 必有一个要被算入一开始还是想到的是递归。想到递归离动态规划就不远了。建立递推公式,用变量表示出递推公式中等式右边的变量,再写循环。打家劫舍 II这道题和上一题很相似,

2021-03-06 22:27:20 204

原创 寒假刷题打卡第二十六 | 回溯

返校已经好几天了。果然还是在学校刷题的效率高。给你一个整数数组 nums ,数组中的元素 互不相同 。返回该数组所有可能的子集(幂集)。这道题比较的难点在于判断写进ans的条件。刚开始怎么想都觉得 不对,最后发现就是没有条件。class Solution {public: void dfs(vector<int>& nums, vector<vector<int>>& ans, vector<int>& set, i

2021-03-02 16:01:03 175

原创 寒假刷题打卡第二十二 & 第二十三天 | 分治 & 搜索

为运算表达式设计优先级(加括号)我完全想不出这样的解法。这道题给我的启发是,递归可以从自下而上和自上而下两个角度去想。之前做二叉树相关的题目,大多是自下而上。而自上而下的递归有个更好听的名字,叫分而治之。class Solution {public: vector<int> diffWaysToCompute(string input) { vector<int> vec1, vec2, res; int n = input.si.

2021-02-26 21:46:04 146

原创 寒假刷题打卡第二十&二十一天 | 位运算

汉明距离class Solution {public: int hammingDistance(int x, int y) { int res = abs(x) ^ abs(y); int count = 0; while(res) { //if(res & 1) // count++; res = res & (res - 1); .

2021-02-25 11:53:56 114

原创 寒假刷题打卡第十九天 | 数组和矩阵

错误的集合最开始的想法是排序。但是class Solution {public: vector<int> findErrorNums(vector<int>& nums) { vector<int> count(nums.size()); for(int& x:nums) { count[x-1]++; } int lose = -1;.

2021-02-24 08:30:09 122 1

原创 寒假刷题打卡第二十天 | 图(未完成)

真是跪了,打开leetcode一看,图标签类型的题目就没有easy的。判断二分图核心思想:相邻的两个节点必须被分在两个不同的集合中。DFSclass Solution {public: bool valid; vector<int> colored; bool isBipartite(vector<vector<int>>& graph) { int n = graph.size(); colo

2021-02-23 21:48:36 96

原创 寒假刷题打卡第十八天 | 数组和矩阵

将数组0元素后移class Solution {public: void moveZeroes(vector<int>& nums) { int placeOf1 = 0; for(int x:nums) { if(x != 0) { nums[placeOf1] = x; placeOf1++; .

2021-02-19 23:05:28 98

原创 寒假刷题打卡第十七天 | 字符串

最长回文字符串最开始的想法是最长回文字符 = 所有偶数字符长度 + 最长奇数字符长度但是其实是最长回文字符长度 = 所有偶数字符长度 + 非最长奇数字符长度-1 + 最长奇数字符长度代码如下class Solution {public: int longestPalindrome(string s) { unordered_map<char, int> m; for(char x:s) { m[x]+.

2021-02-19 16:37:02 95

原创 寒假刷题打卡第十六天 | 哈希表 & 字符串

两数之和已经是第n次做这个题了。这回终于知道用hashmap来做。但是下面这种写法真的慢。class Solution {public: vector<int> twoSum(vector<int>& nums, int target) { unordered_map<int, int> m; vector<int> ans; for(int i=0; i<nums.size();.

2021-02-18 22:15:39 116

原创 寒假刷题打卡第十五天 | 栈 & 队列

用栈实现队列思路没什么好说的。只是有个问题,为何我在构造函数中定义两个栈会被报错。class MyQueue {public: /** Initialize your data structure here. */ stack<int> s1, s2; MyQueue() { } /** Push element x to the back of queue. */ void push(int x) { .

2021-02-16 09:13:52 93

原创 寒假刷题打卡第十四天 | 树

有序链表转换为平衡搜索二叉树联系有序数组转换为平衡二叉树的解法,显然我们可以先把整个链表存放到一个数组中。不过答案给了一个更巧妙的解法class Solution {public: int getLength(ListNode* head) { int ret = 0; for (; head != nullptr; ++ret, head = head->next); return ret; } TreeNode*.

2021-02-15 10:25:33 70

原创 寒假刷题打卡第十三天 | 树

二叉搜索树中第K小的元素借助最小堆。。。class Solution {public: priority_queue<int> pq; int kthSmallest(TreeNode* root, int k) { kthSmallestCore(root, k); return pq.top(); } void kthSmallestCore(TreeNode* root, int k) { .

2021-02-14 18:45:10 133

原创 寒假刷题打卡第十二天 | 树

找树左下角的值BFS.class Solution {public: int findBottomLeftValue(TreeNode* root) { queue<TreeNode*> q; int curLevel = 0; int nextLevel = 0; q.push(root); TreeNode* tempNode; while(q.size()) {.

2021-02-14 12:38:35 138

原创 寒假刷题打卡第十一天 | 树

[统计左叶子点和](https://leetcode-cn.com/problems/sum-of-left-leaves/description/)注意不要看错题目,只有叶子点才会被算进去。class Solution {public: int sum = 0; int sumOfLeftLeaves(TreeNode* root) { sumOfLeftLeavesCore(root); return sum; } void su.

2021-02-13 09:39:51 119

原创 寒假刷题打卡第十天 | 树

判断路径和是否等于一个数用递归的思路,很快就能写出答案,但是速度很慢。。。。class Solution {public: bool hasPathSum(TreeNode* root, int targetSum) { if(!root) return false; int rootVal = root->val; if(rootVal == targetSum && !root->lef.

2021-02-11 14:07:40 61

原创 寒假刷题打卡第九天 | 树

二叉树的深度这是剑指offer上的原题。用递归的方式很快写出如下代码,但是,速度很慢。class Solution {public: int maxDepth(TreeNode* root) { if(root == nullptr) return 0; if(!root->left && (!root->right)) return 1; return 1 + ma.

2021-02-11 11:16:10 126

原创 寒假刷题打卡第八天 | 链表

两数相加思路一(挂):把两个链表中的数求出来,然后相加,再构建一个新数组来存这个数。这个方法在两数相加的时候,会造成栈溢出的问题。class Solution {public: ListNode* addTwoNumbers(ListNode* l1, ListNode* l2) { int numl1=0, numl2=0; while(l1) { numl1 = numl1 * 10 + l1->val; .

2021-02-09 23:37:35 102

原创 寒假刷题打卡第七天 | 链表

今天本来该继续学习算法思想,但是碰到了图的知识点,因为之前没有系统学过这部分,今天看着很吃力。由于今天状态不好,打算过段时间再来看吧,先看一点简单的链表。找出两个链表的交点这是剑指offer上面的原题。官方解答给出了一个很有意思的方法。class Solution {public: ListNode *getIntersectionNode(ListNode *headA, ListNode *headB) { if(headA == NULL || headB == N

2021-02-09 12:13:12 116

原创 寒假刷题打卡第六天 | 二分查找 & 分治

第一个错误的版本秒了,就不贴代码了。寻找旋转排序数组中的最小值很容易想到二分法。但是一开始的思路是比较nums[mid]和nums[mid+1](或者nums[mid-1])。比较分三种情况,nums[mid]==nums[mid+1],nums[mid]>nums[mid+1], nums[mid]<nums[mid+1]. 发现不管是那种情况,都无法判断最小值是在前面还是后面。所以,正确的比较应该是nums[mid]和nums[0]。同样分为大于、小于和等于三种情况。nums[mi.

2021-02-08 09:56:04 114

原创 寒假刷题打卡第五天 | 贪心 & 二分查找

子数组最大的和受到昨天最后一题的启发,第一反应就是维护一个全局最大值和一个局部最大值。那么为题就是什么时候更新局部最大值,什么时候更新全局最大值呢?最开始的想法是,如果nums[i]<0就不把nums[i]算进局部最大值,但是很容易发现这种思路不对。于是后面想到正确的判断条件是,如果局部最大值小于0,我们就更新将现在的元素初始化新的局部最大值。class Solution {public: int maxSubArray(vector<int>& nums) {.

2021-02-06 17:23:23 104

原创 寒假刷题打卡第四天 | 贪心

股票最大收益|第i天的最大收益=max(第i-1天的最大收益,price[i]-min_price[i-1])(dp的思想)击败5%的用户-_-class Solution {public: int maxProfit(vector<int>& prices) { //双指针对于无序数组比较弱鸡 int max_pro = 0; if(prices.empty()) return 0; .

2021-02-05 18:17:58 102

原创 寒假刷题打卡第三天 | 排序 & 贪心

荷兰国旗问题这个问题很简单,遍历一遍整个数组,统计一下没个数字的个数,搞定。//include <algorithm>// swap需要class Solution {public: void sortColors(vector<int>& nums) { vector<int> v(3,0); for(int &x:nums) v[x]++; int i=0; .

2021-02-05 12:50:08 113

原创 寒假刷题打卡第二天 | 双指针 & 排序

判断是否是环形链表class Solution {public: bool hasCycle(ListNode *head) { if(head==NULL || head->next == NULL) return false; ListNode *behind = head; ListNode *ahead = head->next; //双指针不一定是一个在前一个在后 while(be.

2021-02-03 19:52:26 110

原创 寒假刷题打卡第一天 | 双指针

排序数组中找出两数,使得和为给定值。双指针。给定一个数,判断能否等于两数平方和。当使用双指针的时候 ii + jj 会溢出。看了答案,有人给出的解决方案是判断sum-ii与jj的大小关系。翻转单词中的元音字母元音字母包括大小写public: string reverseVowels(string s) { int i=0,j=s.size()-1; while(j>i) { while(!isVowel(s.

2021-02-01 23:27:48 95

原创 讲座 | lidar目标检测------图森未来CTO王乃岩

无人驾驶领域会议计算机计算机RSS(Robotics: Science and System)RSS是由International Foundation of Robotics Research (IFRR)组织的规格和要求比较高,但是规模比较小的single-track conference。每年接收的文章在大几十篇左右,对文章理论创新性,实验验证完备性要求都很高(比如只有simulation验证的基本不行)。RSS采用双盲审,在RSS 2016还给作者提供一次和审稿人rebuttal的机会,但

2021-01-21 20:17:43 378

原创 优质3D视觉学习文章(持续更新)

优质3D视觉学习文章(持续更新)目标检测目标检测万字长文详解:毫米波雷达物体检测技术【硬件&软件】最新3D目标检测文章汇总(包含ECCV20和ACMMM20)汇总|3D目标检测文章(CVPR2020)3D目标检测深度学习方法中voxel-represetnation内容综述(三)3D目标检测深度学习方法之voxel-represetnation内容综述(二)3DSSD:基于点云的single-stage物体检测模型 | CVPR2020...

2020-11-02 09:27:26 122

原创 作者:朱松纯

https://www.sohu.com/a/227854954_297710这样我就能申请原创了。

2020-10-01 15:37:40 292

原创 安装mayavi

(kitti_vis)$ conda install mayavi -c conda-forge

2020-08-06 17:03:33 293

转载 Understanding 3D matrix transforms

Translation, Scaling, Rotation, and Skewing?!In elementary school, we are taught translation, rotation, re-sizing/scaling, and reflection. The first three are used heavily in computer graphics — and they’re done using matrix multiplication.If you’ve ev

2020-08-03 21:35:34 222

原创 跑通PCDet上的那些坑——复现second PV-RCNN pointpillar

PCDet包括了多个点云目标检测算法,包括second,pointpillar,pvrcnn等等。所以跑通一个模型可以说是一劳永逸,于是我就决定和它正面刚!前前后后差不多刚了一个月吧,略有所获,此处做一记录。

2020-07-13 11:22:09 7182 17

原创 一文读懂PV-RCNN: Point-Voxel Feature Set Abstraction for 3D Object Detection

为了致敬*一文读懂Faster RCNN*,本文取名如此。希望能帮助大家以轻松的姿态理解这一霸榜kitti大半年的3D目标检测算法。0. 立论依据按照点云的前处理方法划分,通常3D目标检测可以分为基于体素和基于点的方法。文中提到二者有其各自的特点:基于体素的方法能有效地进行region proposal,但是感受野受到卷积核大小的限制。而基于点的方法恰好能够获得灵活的感受野,更捕获更精确的上下文信息。(??此处迷惑,即使是基于体素的方法的感受野难道不是随着卷积层数的增加而逐渐扩大的吗??讲真,大家都说二

2020-06-23 17:05:33 2596 2

转载 点云采样算法总结

点云采样点云采样分类格点采样均匀采样几何采样本文转自:http://geometryhub.net/notes/pointcloudsample点云采样分类点云采样的方法有很多种,常见的有均匀采样,几何采样,随机采样,格点采样等。下面介绍一些常见的采样方法。格点采样格点采样,就是把三维空间用格点离散化,然后在每个格点里采样一个点。具体方法如下:创建格点:如中间图所示,计算点云的包围盒,然后把包围盒离散成小格子。格子的长宽高可以用户设定,也可以通过设定包围盒三个方向的格点数来求得。每个小

2020-05-23 21:17:14 2889 5

原创 jupyter notebook更改目录后闪退

服了,改个路径都改半天。记录一下,大家别踩我的坑呀!1.如何修改jupyter notebook路径点这里:https://www.cnblogs.com/awakenedy/p/9075712.html2.按照上述方式修改后闪退修改路径后可能会发现打不开jupyter notebook了,而且如果是直接点击jupyter notebook的图表的话,会闪退,连怎么死的都不知道。为了知道原...

2020-03-24 18:08:44 1228 1

原创 LIBO2017_FCN3D:3D Fully Convolutional Network for Vehicle Detection in Point Cloud 学习笔记

这篇博客主要记录本人在阅读‘3D Fully Convolutional Network for Vehicle Detection in Point Cloud’这篇文献中的收获1. FCN全卷积网络并不是指网络中只有卷积操作(没有池化)。而是没有全连接层,取而代之的是反卷积。反卷积也即是将通过卷积得到的特征图进行上采样,是最终的输出特征图与原来的输入大小一致,但是通道数不一样(反卷积具体如...

2020-02-12 22:36:41 1097

空空如也

空空如也

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

TA关注的人

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