自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 光条中心提取算法——steger算法(Hessian矩阵)的代码实现

下面三个网站是我自己找到的代码,但是都没跑过。其中最后一个好像根据steger写的代码改进的,可以重点看这个。第四个网网址是Halcon里面steger算法的介绍。https://github.com/allen52/Hessian-steger/tree/master/Hessian-stegerhttps://github.com/thorstenwagner/ij-ridgedete...

2019-07-15 16:58:24 10577 4

转载 leetcode 155. 最小栈 (C++)

设计一个支持 push,pop,top 操作,并能在常数时间内检索到最小元素的栈。push(x)-- 将元素 x 推入栈中。pop()-- 删除栈顶的元素。top()-- 获取栈顶元素。getMin() -- 检索栈中的最小元素。示例:MinStack minStack = new MinStack();minStack.push(-2);minStack.push(0)...

2019-06-27 23:09:16 223

转载 leetcode 20. 有效的括号 (C++)

给定一个只包括 '(',')','{','}','[',']'的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。示例 1:输入: "()"输出: true题解对解答过程说的已经很清楚了:1 初始化栈 S。2 一次处理表达式的每个括号。3 如果遇到开括号,我们只需将其推到...

2019-06-27 22:23:39 306

转载 leetcode 23. 合并K个排序链表 (C++)未改

合并k个排序链表,返回合并后的排序链表。请分析和描述算法的复杂度。示例:输入:[1->4->5,1->3->4,2->6]输出: 1->1->2->3->4->4->5->6class Solution(object): def mergeKLists(self, lists)...

2019-06-20 20:52:50 369

原创 leetcode 328. 排序链表 (C++)

给定一个单链表,把所有的奇数节点和偶数节点分别排在一起。请注意,这里的奇数节点和偶数节点指的是节点编号的奇偶性,而不是节点的值的奇偶性。请尝试使用原地算法完成。你的算法的空间复杂度应为 O(1),时间复杂度应为 O(nodes),nodes 为节点总数。示例 1:输入: 1->2->3->4->5->NULL输出: 1->3->5->2...

2019-06-18 22:28:53 205

转载 leetcode 148. 排序链表 (C++)

在O(nlogn) 时间复杂度和常数级空间复杂度下,对链表进行排序。示例 1:输入: 4->2->1->3输出: 1->2->3->4bottom-to-up 的归并思路是这样的:先两个两个的 merge,完成一趟后,再 4 个4个的 merge,直到结束。举个简单的例子:[4,3,1,7,8,9,2,11,5,6].step=1...

2019-06-18 21:41:58 180

原创 leetcode 138. 复制带随机指针的链表 (C++)

给定一个链表,每个节点包含一个额外增加的随机指针,该指针可以指向链表中的任何节点或空节点。要求返回这个链表的深拷贝。输入:{"$id":"1","next":{"$id":"2","next":null,"random":{"$ref":"2"},"val":2},"random":{"$ref":"2"},"val":1}解释:节点 1 的值是 1,它的下一个指针和随机指针...

2019-06-11 23:00:46 363

原创 leetcode 19. 删除链表的倒数第N个节点(C++)

给定一个链表,删除链表的倒数第n个节点,并且返回链表的头结点。示例:给定一个链表: 1->2->3->4->5, 和 n = 2.当删除了倒数第二个节点后,链表变为 1->2->3->5.说明:给定的 n保证是有效的。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/remo...

2019-06-11 21:51:22 174

原创 leetcode237. 删除链表中的节点(C++)

请编写一个函数,使其可以删除某个链表中给定的(非末尾)节点,你将只被给定要求被删除的节点。现有一个链表 --head =[4,5,1,9],它可以表示为:示例 1:输入: head = [4,5,1,9], node = 5输出: [4,1,9]解释: 给定你链表中值为5的第二个节点,那么在调用了你的函数之后,该链表应变为 4 -> 1 -> 9.说明...

2019-06-01 15:53:09 194

原创 leetcode 234. 回文链表(C++)

请判断一个链表是否为回文链表。示例 2:输入: 1->2->2->1输出: true进阶:你能否用O(n) 时间复杂度和 O(1) 空间复杂度解决此题?方法一:反转链表快慢指针找到中点,然后把中点之后的链表反转。再比对class Solution{private: ListNode *reverse(ListNode *node) ...

2019-06-01 15:30:24 288

原创 Pandas 基本操作

Table of Contents创建 DataFrame读取整列读取整行删除行或列统计行/列名统计缺失值缺失值处理赋值上下合并(连接)数据集classpandas.DataFrame(data=None,index=None,columns=None,dtype=None,copy=False)Parameters: da...

2019-05-31 16:49:07 160

原创 leetcode206. 反转链表(C++)

反转一个单链表。示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL进阶:你可以迭代或递归地反转链表。你能否用两种方法解决这道题?方法一:迭代把当前节点(curr)的之前的节点(prev)给当前的下一个节点(curr->next)这里有几个问题:1.因为...

2019-05-30 20:56:47 117

原创 将dataframe中的某一行提取出来放到另一个dataframe中

因为训练集和测试集的特征是放在一个文件中的,所以需要把训练集的特征提取出来。最后才想到直接使用dataframe中的append方法,它的参数如下,可以传入dataframe,series,dict,Parameters: other:DataFrame or Series/dict-like object, or list of these The data t...

2019-05-30 17:14:46 17915

原创 leetcode160. 相交链表(C++)

编写一个程序,找到两个单链表相交的起始节点。如下面的两个链表:输入:intersectVal = 8, listA = [4,1,8,4,5], listB = [5,0,1,8,4,5], skipA = 2, skipB = 3输出:Reference of the node with value = 8输入解释:相交节点的值为 8 (注意,如果两个列表相交则不能为 0)。从...

2019-05-29 20:58:04 290

原创 leetcode 21. 合并两个有序链表(C++)

给定一个链表,判断链表中是否有环。为了表示给定链表中的环,我们使用整数pos来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果pos是-1,则在该链表中没有环。示例 1:输入:head = [3,2,0,-4], pos = 1输出:true解释:链表中有一个环,其尾部连接到第二个节点。方法一:双指针法一快一慢,两个指针。如果有环的话,那么最终快慢...

2019-05-28 22:50:31 440

原创 OpenGL配置时error LNK2001: 无法解析的外部符号 _glad_glViewport解决办法

在跟着LearnOpenGL CN学习OpenGL学习时,在 你好,窗口 这一步,全文中源代码复制过来的时候会出现error LNK2001: 无法解析的外部符号 _glad_ 这类错误解决办法就是,添加现有项中把 glad.c 添加进来...

2019-05-23 10:32:08 4489 3

原创 leetcode 62. 不同路径(C++)不明白

一个机器人位于一个m x n网格的左上角 (起始点在下图中标记为“Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。问总共有多少条不同的路径?例如,上图是一个7 x 3 的网格。有多少可能的路径?说明:m和n的值均不超过 100。示例1:输入: m = 3, n = 2输出: 3解释:...

2019-05-22 21:26:25 177

原创 leetcode 56. 合并区间(C++)

给出一个区间的集合,请合并所有重叠的区间。示例 1:输入: [[1,3],[2,6],[8,10],[15,18]]输出: [[1,6],[8,10],[15,18]]解释: 区间 [1,3] 和 [2,6] 重叠, 将它们合并为 [1,6].排序法如果排序后,可以发现如果intervals[i][1] >= intervals[i+1][0],则合并后的区间为{int...

2019-05-22 21:14:47 618

原创 leetcode 55.跳跃游戏(C++)

给定一个非负整数数组,你最初位于数组的第一个位置。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个位置。示例1:输入: [2,3,1,1,4]输出: true解释: 从位置 0 到 1 跳 1 步, 然后跳 3 步到达最后一个位置。反过来想,从倒数第二个数字(i)开始,向前遍历,判断这个数字是否能跳到最后的数字(j),即nums(i)>...

2019-05-21 22:35:09 239

原创 leetcode 54.螺旋矩阵(C++)

给定一个包含mxn个元素的矩阵(m行,n列),请按照顺时针螺旋顺序,返回矩阵中的所有元素。示例1:输入:[ [ 1, 2, 3 ], [ 4, 5, 6 ], [ 7, 8, 9 ]]输出: [1,2,3,6,9,8,7,4,5]LeetCode官方题解方法2:按层打印以左上角(r1,c1)和右下角(r2,c2)作为判断的标准循环条件:r1...

2019-05-21 20:33:04 372

原创 leetcode 34. 在排序数组中查找元素的第一个和最后一个位置(C++)

给定一个按照升序排列的整数数组nums,和一个目标值target。找出给定目标值在数组中的开始位置和结束位置。你的算法时间复杂度必须是O(logn) 级别。如果数组中不存在目标值,返回[-1, -1]。示例 1:输入: nums = [5,7,7,8,8,10], target = 8输出: [3,4]注意时间复杂度时logn这个题和33题很像,都规定时间复杂...

2019-05-18 22:31:53 363

原创 leetcode 33. 搜索旋转排序数组(C++)

假设按照升序排序的数组在预先未知的某个点上进行了旋转。( 例如,数组[0,1,2,4,5,6,7]可能变为[4,5,6,7,0,1,2])。搜索一个给定的目标值,如果数组中存在这个目标值,则返回它的索引,否则返回-1。你可以假设数组中不存在重复的元素。你的算法时间复杂度必须是O(logn) 级别。示例 1:输入: nums = [4,5,6,7,0,1,2...

2019-05-18 21:01:57 216

原创 leetcode 15. 三数之和(C++)

给定一个包含n个整数的数组nums,判断nums中是否存在三个元素a,b,c ,使得a + b + c =0 ?找出所有满足条件且不重复的三元组。注意:答案中不可以包含重复的三元组。例如, 给定数组 nums = [-1, 0, 1, 2, -1, -4],满足要求的三元组集合为:[ [-1, 0, 1], [-1, -1, 2]]这个题主要的问题是会...

2019-05-16 21:04:13 186

原创 leetcode 11. 盛最多水的容器(C++)

给定n个非负整数a1,a2,...,an,每个数代表坐标中的一个点(i,ai) 。在坐标内画n条垂直线,垂直线i的两个端点分别为(i,ai) 和 (i, 0)。找出其中的两条线,使得它们与x轴共同构成的容器可以容纳最多的水。说明:你不能倾斜容器,且n的值至少为 2。图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(...

2019-05-16 19:52:41 217

原创 leetcode 283.移动0(C++)

给定一个数组nums,编写一个函数将所有0移动到数组的末尾,同时保持非零元素的相对顺序。示例:输入: [0,1,0,3,12]输出: [1,3,12,0,0]说明:必须在原数组上操作,不能拷贝额外的数组。 尽量减少操作次数。遍历数组,如果是0,继续下一个;如果不是0把和nums[count]交换,count是用来记录交换次数的。但是对count的初始化取决于第一个0出...

2019-05-14 23:03:46 143

原创 leetcode 268.缺失数字(C++)

给定一个包含0, 1, 2, ..., n中n个数的序列,找出 0 ..n中没有出现在序列中的那个数。示例 1:输入: [3,0,1]输出: 2排序法,效果不好class Solution {public: int missingNumber(vector<int>& nums) { sort(nums.begin(...

2019-05-14 22:41:08 438

原创 leetcode 217.存在重复元素(C++)

给定一个整数数组,判断是否存在重复元素。如果任何值在数组中出现至少两次,函数返回 true。如果数组中每个元素都不相同,则返回 false。示例 1:输入: [1,2,3,1]输出: true这个题也在剑指offer里面,面试题3排序法将数组排序,然后遍历数组就可以了。注意:只用遍历到nums.size()-2的位置就可以了,如果不是的话会报错class So...

2019-05-14 21:46:27 115

原创 leetcode 189.旋转数组(C++)

给定一个数组,将数组中的元素向右移动k个位置,其中k是非负数。示例 1:输入: [1,2,3,4,5,6,7] 和 k = 3输出: [5,6,7,1,2,3,4]解释: 向右旋转 1 步: [7,1,2,3,4,5,6]向右旋转 2 步: [6,7,1,2,3,4,5] 向右旋转 3 步: [5,6,7,1,2,3,4]反转法k可能比n大很多,所以需要对k %= ...

2019-05-14 21:04:45 213

原创 leetcode 169.求众数(C++)

给定一个大小为n的数组,找到其中的众数。众数是指在数组中出现次数大于⌊ n/2 ⌋的元素。你可以假设数组是非空的,并且给定的数组总是存在众数。示例1:输入: [3,2,3]输出: 3注意众数的定义,众数的个数>n/21.排序后,n/2位置处的数字就是众数class Solution {public: int majorityElement(v...

2019-05-14 20:13:07 359

原创 Anaconda安装xgboost

conda install -c anaconda py-xgboost

2019-05-14 19:49:14 1828

原创 leetcode 122.买卖股票的最佳时机2(C++)

给定一个数组,它的第i个元素是一支给定股票第i天的价格。设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。示例 1:输入: [7,1,5,3,6,4]输出: 7解释: 在第 2 天(股票价格 = 1)的时候买入,在第 3 天(股票价格 = 5)的时候卖出, 这笔...

2019-05-13 22:42:36 146

原创 leetcode 121.买卖股票的最佳时机(C++)

给定一个数组,它的第i个元素是一支给定股票第i天的价格。如果你最多只允许完成一笔交易(即买入和卖出一支股票),设计一个算法来计算你所能获取的最大利润。注意你不能在买入股票前卖出股票。示例 1:输入: [7,1,5,3,6,4]输出: 5解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5 。 ...

2019-05-13 22:25:45 94

原创 leetcode 118.杨辉三角(C++)

首先要知道杨辉三角是什么意思,那么实现起来就是1.先要创建numRows个vector,并且每个vector的size为1;2.遍历这些vector,每次遍历前先把vector[0]赋值为1;3.杨辉三角的计算关系;4.最后在末尾再添加一个1。class Solution {public: vector<vector<int>> genera...

2019-05-13 21:48:03 223

原创 leetcode 88.合并两个有序数组(C++)

给定两个有序整数数组nums1和nums2,将nums2合并到nums1中,使得num1成为一个有序数组。说明:初始化nums1和nums2的元素数量分别为m和n。 你可以假设nums1有足够的空间(空间大小大于或等于m + n)来保存nums2中的元素。示例:输入:nums1 = [1,2,3,0,0,0], m = 3nums2 ...

2019-05-13 21:16:23 141

原创 leetcode 66. 加一(C++)

给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储一个数字。你可以假设除了整数 0 之外,这个整数不会以零开头。示例1:输入: [1,2,3]输出: [1,2,4]解释: 输入数组表示数字 123。刚开始一看题目还没看明白...简单说就是123+1是什么,在数组里面表示出来。最简单想到的就是末尾加一,但是...

2019-05-13 20:26:06 176

原创 leetcode 53. 最大子序和(C++)

给定一个整数数组nums,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例:输入: [-2,1,-3,4,-1,2,1,-5,4],输出: 6解释:连续子数组[4,-1,2,1] 的和最大,为6。看题解和评论说这个是动态规划解法,自己没想明白。将上面的实例代入下面的算法,感觉更像是双指针法。cur_sum是慢指针同时也作为当前和的保存,放在0...

2019-05-11 20:24:56 160

原创 leetcode 26. 删除排序数组中的重复项(C++)

给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。示例1:给定数组 nums = [1,1,2], 函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。 你不需要考虑数组中超出新长度后面的元素。注意,返回...

2019-05-10 22:20:54 369

原创 leetcode 1. 两数之和(C++)

给定一个整数数组nums和一个目标值target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]一、暴力...

2019-05-10 21:17:19 198

原创 指针常量与常量指针

简单的记为:const在星号左边,表示被指物是常量;const在星号右边,表示指针自身是常量常量指针constant pointer:指针本身是常量,指向不变,但是指向地址的内容可变int* const p;指针常量pointer to constant:指针指向可以变,但是指向地址的内容不变。只读作用的指针const int* p;...

2019-03-16 15:27:12 105

原创 《C++程序设计原理与实践》 复习题答案,可作为C++基础知识复习(持续更新中)

目录第一章 计算机、人与程序设计第三章 对象、类型和值第四章 计算第一章 计算机、人与程序设计1. What is software? 软件是运行在计算机上的程序的集合2. Why is software important?3. Where is software important?4. What could go wrong if some software fai...

2019-03-06 21:35:42 2086

空空如也

空空如也

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

TA关注的人

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