C++
君只见独不见
这个作者很懒,什么都没留下…
展开
-
vs2015 + opencv3.4 配置
首先是准备工作:1、下载并安装vs20152、下载opencv并把安装目录加到环境变量path中我的是这个D:\Professional\opencv\opencv3.4\build\x64\vc14\binvs中的配置与测试:1、新建win32控制台应用程序2、选择空项目3、打开属性管理器视图->其他窗口->属性管理器 或者 视图->属性...原创 2018-05-30 10:18:31 · 18081 阅读 · 21 评论 -
static关键字总结
转载自:https://www.cnblogs.com/lpxblog/p/5190463.htmlstatic,即静态声明。它在 作用域、存储方式、生命周期 等各方面影响一个变量或函数。文章将从 局部变量、全局变量、普通函数、类的static成员(包括数据成员与成员函数)来总结static。全局变量所有的全局变量,无论是否是static的,都是存储于静态存储区的。全局变量本身就是静态存...转载 2019-04-29 23:02:10 · 227 阅读 · 0 评论 -
LeetCode:235. 二叉搜索树的最近公共祖先(Lowest Common Ancestor of a Binary Search Tree)
二叉搜索树性质:1、任意节点node,其左子树中的val不大于node.val,其右子树中的val不小于node.val。2、不同的二叉搜索树可以代表同一组值的集合3、二叉搜索树的基本操作和树的高度成正比,所以如果是一棵完全二叉树的最坏运行时间为O(logn),但若是一个n个节点连接成的线性树,那么最坏运行时间是O(n)。思路:这里主要用到第一个性质/** * Defini...原创 2019-01-04 12:14:00 · 243 阅读 · 0 评论 -
LeetCode 169.求众数
题目描述:给定一个大小为 n 的数组,找到其中的众数。众数是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素。你可以假设数组是非空的,并且给定的数组总是存在众数。示例 1:输入: [3,2,3]输出: 3示例 2:输入: [2,2,1,1,1,2,2]输出: 2思路:关注题目中的限定条件:大于 ⌊ n/2 ⌋、总是存在众数 class Solution {pub...原创 2018-12-29 18:10:51 · 229 阅读 · 0 评论 -
Qt GUI编程
GUI编程:qtdesigner1、qt中使用 转到槽选项可以自动生成函数名 2.在VS中使用qt插件 无法使用转到槽选项 解决办法:1、自己按照上面的格式定义函数,在ui文件和函数之间建立连接例如:上面菜单栏中的exit选项Object Name是action_exit,对应的函数名就是on_action_exit_triggered(),在头文件privat...原创 2018-12-03 12:28:57 · 1050 阅读 · 0 评论 -
LeetCode 88. 合并两个有序数组(Merge Sorted Array)
首先,这个题中给出的函数没有返回值,所以就意味着我们不能另建一个数组来做合并!第一种思路:第一步:比较nums1和nums2,使nums2最小值大于nums1的最大值,而在这个过程要保持nums2有序!第二步:把nums2加到nums1后面。代码:nums1中有1个元素时,保证nums2最小值大于nums1的最大值;nums1中有2个元素时,保证nums2最小值大于num...原创 2018-10-15 21:45:09 · 281 阅读 · 0 评论 -
LeetCode 70. 爬楼梯(Climbing Stairs)
递归解法(超时):class Solution {public: int climbStairs(int n) { if(n == 1) return 1; if(n == 2) return 2; return climbStairs(n-1) + climbStairs(n-2); }};递归改循环(AC): ...原创 2018-10-07 15:45:49 · 136 阅读 · 0 评论 -
LeetCode 53. 最大子序和(Maximum Subarray)
第一次提交成功class Solution {public: int maxSubArray(vector<int>& nums) { if (nums.size() == 1) return nums[0]; // int sum = -1; vector<int> submax; ...原创 2018-10-07 11:06:13 · 239 阅读 · 0 评论 -
LeetCode 20. 有效的括号(Valid Parentheses)
栈思想关于有效括号表达式的一个有趣属性是有效表达式的子表达式也应该是有效表达式。整个表达式是有效的,而它的子表达式本身也是有效的。这为问题提供了一种递归结构。(栈思想)从整体表达式中一次删除一个较小的表达式,因为这是一个有效的表达式,我们最后剩留下一个空字符串。class Solution {public: bool isValid(string s) { ...原创 2018-10-05 10:49:45 · 159 阅读 · 0 评论 -
LeetCode 21. 合并两个有序链表(Merge Two Sorted Lists)
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: ListNode* m...原创 2018-10-04 21:45:11 · 272 阅读 · 0 评论 -
LeetCode 螺旋矩阵(Spiral Matrix)
思路:做四个方向的遍历右,下,左,上。重复循环这四个方向即得到螺旋矩阵。注意问题:1、边界2、判断当前位置是否已经遍历(mark标志位)3、vector为空或者只有一个元素4、循环退出条件class Solution {public: vector<int> spiralOrder(vector<vector<int>>&...原创 2018-09-21 11:06:37 · 259 阅读 · 0 评论 -
关于C++中vector初始化问题
1、默认初始化,vector为空,size为0,未开辟空间,可通过push_back()添加元素。vector<int> v;v.push_back(10);2、默认初始化,指定vector大小,元素初始值默认为0,元素增多时,同样可以通过push_back()来改变vector大小以增加元素。vector<int> v(5)3、指定初始化元素值为2...原创 2018-09-21 10:57:06 · 16443 阅读 · 0 评论 -
windows10详细配置pcl-1.8.1
工具:pcl各版本下载地址下载适当的版本,这里有32位和64位的,是要看你的VS的编译器是多少位的,并不是操作系统。安装部分,因为是以前装的就不截图了,就只把注意事项列出来:1、Add PCL to the system Path for all users2、选择安装路径,建议修改,默认安装路径中的Program files和PCL 1.8.1这两个文件名中都有空格,在q...原创 2018-09-05 12:28:45 · 4619 阅读 · 0 评论 -
windows下cmake编译VTK到PCL中
补充:如果嫌编译麻烦,这里可以下载我编译好的:VTK-8.0.1,下载后直接拷贝到pcl安装目录下替换原VTK目录。编译VTK的原因:pcl安装版中自带的vtk缺少QVTKWidget.dll,这样在QT Designer中就无法显示点云。工具:cmake-3.11pcl-1.8.1-allinone,pcl-1.8.1-pdbvs2015Qt5.10.1 下载地址...原创 2018-09-02 11:03:22 · 2735 阅读 · 0 评论 -
PCL随笔
1、创建点云数据指针变量,头文件:#include <pcl/point_cloud.h> #include <pcl/point_types.h>pcl::PointCloud<pcl::PointXYZ>::Ptr cloud(new pcl::PointCloud<pcl::PointXYZ>);pcl::io::loadPC...原创 2018-08-17 16:18:09 · 792 阅读 · 0 评论 -
Create a PCL visualizer in Qt with QtDesigner
这是PCL文档中的例程实现,原文地址:http://pointclouds.org/documentation/tutorials/qt_visualizer.php#more-on-qt-and-pcl介绍一下环境:Ubuntu16.04 + Qt5.8 + PCL1.8.1 + VTK7.1.1配置环境见另一篇文章。UI部分:只允许在QtDesigner中修改图片左上角...原创 2018-08-17 09:50:16 · 1024 阅读 · 1 评论 -
几何变换
几何变换详解在三维图形学中,几何变换大致分为三种,平移变换(Translation),缩放变换(Scaling),旋转变换(Rotation)。以下讨论皆针对DirectX,所以使用左手坐标系。平移变换将三维空间中的一个点[x, y, z, 1]移动到另外一个点[x’, y’, z’, 1],三个坐标轴的移动分量分别为dx=Tx, dy=Ty, dz=Tz, 即x’ = x + Txy’...原创 2019-04-30 22:02:39 · 545 阅读 · 0 评论