- 博客(38)
- 资源 (2)
- 收藏
- 关注
原创 Java集合类学习UML图——ArrayList
Java集合类学习UML图——ArrayListArrayList类的定义public class ArrayList<E> extends AbstractList<E> implements List<E>, RandomAccess, Cloneable, java.io.Serializable可以看出: 1.ArrayList 继承了AbstractList抽象类并且实现
2016-06-02 20:27:31
3738
原创 Java1.8源码集合类学习UML图——Collection接口&AbstractCollection抽象类
Collection接口&AbstractCollection类 可以明显地看到Collection接口继承自Iterable接口,而AbstractCollection抽象类又是Collection的子类,那么AbstractCollection中的方法实现就可以使用迭代器和“for-each”语法。
2016-05-24 14:43:35
1814
原创 leetcode--Search a 2D Matrix
初试这个题目,以为简单,分分钟就能搞定。但还是超时了,是这么想的,既然是已经排序好的二维数组,何不转换成一维数组直接搞二分查找,这题目就O了嘛。还是想得太简单,对于一个二维数组,遍历全部元素那就得O(N^2)的时间复杂度,那坑定超时啊。后来想想,也确实。我干嘛要转换成一维数组呢,直接当它是一维数组的不就好了,只要我找到中间数在二维数组中的下标,二分查找就so easy。下面有超时的,和AC
2015-11-13 16:12:11
622
原创 leetcode--Rotate Array
/* * 需求:旋转数组 * Rotate an array of n elements to the right by k steps. */在自己的eclipse上写的代码很通过,但是在leetcode上怎么也刷不过。编译能过,但是输出的还是原来的数组,并没有旋转。睡了一觉,才想到是这个原因。是因为数组与数组之间的拷贝不能直接用"="号来赋值,nums只是引
2015-11-11 16:54:31
635
原创 leetcode(7)Reverse Integer
题目我就不赘述了,可以上官网看得到。算了还是贴一下把。Reverse digits of an integer.Example1: x = 123, return 321Example2: x = -123, return -321就是把输入的数值反向输出即可。这里有一个陷阱就是数值溢出的问题。我的代码跟网上别人的不太一样,看到这个题目的我首先想到的就是,把这个int型
2015-05-11 18:36:28
738
原创 LeetCode(5) Longest Palindromic Substring
时间复杂度为O(N)的算法在网上看到的很牛逼的算法,不是很理解,这里我就不说了,给链接点击打开链接时间复杂度为O(N²)的算法-从中间向两边展开回文字符串显然有个特征是沿着中心那个字符轴对称。比如aha沿着中间的h轴对称,a沿着中间的a轴对称。那么aa呢?沿着中间的空字符''轴对称。所以对于长度为奇数的回文字符串,它沿着中心字符轴对称,对于长度为偶数的回文字符串,它
2015-05-06 16:33:41
1025
原创 C/C++中如何调用Python
C++中调用Python脚本的意义就不讲了,至少你可以把它当成文本形式的动态链接库, 需要的时候还可以改一改,只要不改变接口, C++的程序一旦编译好了,再改就没那么方便了 先看Python的代码 代码:#test function def add(a,b): print "in python function add
2015-04-30 08:03:42
1023
原创 POJ1035——spell checker
正好最近被人问到一个数据结构的问题,难住了。所以决定来刷刷数据结构的题,从初级的开始,当回炉再造了。题目大概意思:作为一个拼写的checker,遵从如下几个规则——(1)对待检查单词,删除一个字母后,能在字典中找到;(2)对待检查单词,替换一个字母(任意字母替换)后,能在字典中找到;(3)对待检查单词,插入一个任意字母后,能在字典中找到;INPUT:第一部分是字
2015-04-10 17:30:43
787
转载 优秀的有趣博客
昨晚和几个老同学小聚,聊得很开心。忘了到哪儿聊起一些牛人的博客,走得时候华仔还一直说要我一定记得把博客链接email给他。索性写个资源帖,记录一些我经常浏览的博客,并在此向所有提供,分享优秀资源的博主们致敬!也期待大家能留言推荐其他优秀的博客~大牛:刘未鹏 http://mindhacks.cn/ 绝对的绝对的大牛,在大一时读到他的《我在南大的七年》,从
2015-03-17 19:15:54
971
原创 Opencv对图像做腐蚀和膨胀处理的结果
在数字图像处理中,图像的形态学变换占有很重要的地位。基本的形态转换就是膨胀和腐蚀,它们能实现多种功能:例如消除噪声、分割出独立的图像元素以及在图像中连接相邻的元素。当然形态学也常备用于求出图像的梯度。一. 关键函数介绍下面就介绍OpenCV中对图像进行二值化的关键函数cvErode()函数功能:对图像进行腐蚀函数原型:void cvErode( const
2015-03-16 14:33:41
3201
原创 Opencv做鼠标绘图
现在已经可以显示一张图像给用户,但是更加希望给用户互动性强一点内容——用鼠标绘图。其实我已经知道使用cvWaitKey()来捕捉单次用户触发事件,下一步则需要做的是如何捕捉以及响应鼠标事件。为了响应鼠标点击事件,首先必须创建一个回调函数,使鼠标点击事件时,Opencv可以调用这个函数。一.关键函数1.1 cvSetMouseCallback函数功能:设置处理鼠标消
2015-03-13 17:13:27
1278
转载 在OpenCV中自适应确定canny算法的分割门限
在OpenCV中用canny算子进行边缘检测速度很快,不过有点不爽的就是高低阈值需要输入。在OpenCV中自适应确定canny算法的分割门限 一文仿照matlab中的做法,对canny函数进行了修改,以便当用户没有指定高低阈值时,由函数自适应确定阈值。代码如下:// 仿照matlab,自适应求高低两个门限 CV_IMPL void AdaptiveFindThreshold(CvMat *dx
2015-03-11 16:36:10
1023
原创 Opencv对图像做边缘检测——canny算子
图像的边缘检测的原理是检测出图像中所有灰度值变化较大的点,而且这些点连接起来就构成了若干线条,这些线条就可以称为图像的边缘。 Canny边缘检测算子是John F. Canny于 1986 年开发出来的一个多级边缘检测算法。Canny 边缘检测的数学原理和算法实现这里就不再了,有兴趣的读者可以查阅专业书籍,本文主要介绍如何在OpenCV中对图像进行Canny 边缘检测,下面就来看看这
2015-03-11 15:42:57
2695
原创 VS2013 带命令行参数的调试问题 解决方案
首先先解释一下int main(int argc,char* argv[])的含义argc是命令行总的参数个数 argv[]是argc个参数,其中第0个参数是程序的全名,以后的参数命令行后面跟的用户输入的参数比如: int main(int argc, char* argv[]) { int i; for
2015-03-02 10:35:06
3999
原创 OpenCV对图像做简单处理——平滑滤波
首先必须知道几个关键函数——cvLoadImage,cvCreateImage和cvSmooth。一、主要函数的简单介绍1.1 cvLoadImage 函数功能:把图片加载到内存中 函数原型:IplImage* cvLoadImage( const char* filename, int flags=CV_LOAD_IMAGE_COLOR ); 函数说明: filename :要被读入的
2015-02-06 13:47:03
5813
原创 OpencCV创建专属的视频播放器
要播放视频其实和显示图像一样简单,只要考虑播放视频的时候如何循环地顺序读取视频中的每一帧,并且怎么退出该循环。由一般看视频经验知道,当我们按ESC(ASCII=27)键就可以退出播放。另外就是加入控制条,控制视频播放进度。可以考虑记录该段视频的总帧数,然后跳到指定帧的位置,继续读取下一帧。#include #include using namespace std;using nam
2015-02-04 14:19:16
1150
原创 VS2013 与opencv 2.4.10的配置问题,本人电脑64位
VS2013和opencv2.4.10在win764位操作系统下的配置,详细步骤。如有错误,请告知,加以改进。
2015-02-03 15:29:09
6536
原创 Windows下安装Flask
Windows下安装FlaskFlask介绍是一个轻量级的Web应用框架, 使用Python编写。基于 WerkzeugWSGI工具箱和 Jinja2模板引擎。Flask使用 BSD 授权。Flask也被称为 “microframework” ,因为它使用简单的核心,用 extension 增加其他功能。Flask没有默认使用的数据库、窗体验证工具。然而,Flask保留
2015-01-29 17:19:24
947
原创 Python常用内建模块之hashlib
hashlib模块提供了常见的摘要算法,MD5,SHA1还有很多,对于什么是摘要算法,详细的请查阅维基百科。其实摘要算法很好理解,它通过一个函数把任意长度的数据转换成长度固定的数据串。好了,解释完摘要算法。我解释一下什么是MD5(Message Digest Algorithm MD5),这是一种散列函数,具体实现方式不管它,有兴趣可以查阅相关资料。这种函数可以把数据转换成固定长度。知
2015-01-28 20:17:41
952
原创 进程之间如何通信
Process之间肯定是需要通信的,操作系统提供了很多机制来实现进程间的通信。Python的multiprocessing模块包装了底层的机制,提供了Queue、Pipes等多种方式来交换数据。我们以Queue为例,在父进程中创建两个子进程,一个往Queue里写数据,一个从Queue里读数据:#coding=utf-8__author__ = 'lenovo'from multipro
2015-01-27 16:46:08
782
转载 【剑指Offer面试编程题】题目1384:二维数组中的查找--九度OJ
题目描述:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。输入:输入可能包含多个测试样例,对于每个测试案例,输入的第一行为两个整数m和n(1输入的第二行包括一个整数t(1接下来的m行,每行有n个数,代表题目所给出的m行n列的矩阵(
2015-01-25 13:10:12
796
原创 如何添加Python的模块搜索路径
当我们试图加载一个模块时,Python会在指定的路径下搜索对应的.py文件,如果找不到,就会报错:默认情况下,Python解释器会搜索当前目录、所有已安装的内置模块和第三方模块,搜索路径存放在sys模块的path变量中:如果我们要添加自己的搜索目录,有两种方法:一是直接修改sys.path,添加要搜索的目录:这种方法是在运行时修改,运行结
2015-01-19 17:06:54
8764
原创 Python学习(五)
都知道方差,标准差是怎么回事,所以就用一个列表存储班级学生的成绩,对这些成绩求和值,平均值,方差以及标准差。对每一个值都用函数来求得。grades = [100, 100, 90, 40, 80, 100, 85, 70, 90, 65, 90, 85, 50.5]def print_grades(grades): for grade in grades: prin
2015-01-19 11:12:01
604
原创 Python学习(四)
In this project you will build a simplified, one-player version of the classic board game Battleship! In this version of the game, there will be a single ship hidden in a random location on a 5x5 gr
2015-01-14 09:56:22
750
原创 Python学习(三)
lloyd = { "name": "Lloyd", "homework": [90.0, 97.0, 75.0, 92.0], "quizzes": [88.0, 40.0, 94.0], "tests": [75.0, 90.0]}alice = { "name": "Alice", "homework": [100.0, 92.0, 98.
2015-01-13 14:59:11
656
原创 Python学习(二)
在这个项目中,——于列表list和字典dictionaries中使用for循环——编写一个函数中运用loops,lists和dictionaries——应对变化的环境更新数据(比如,当我每卖出一个的时候香蕉的库存量就减1)shopping_list = ["banana", "orange", "apple"]stock = { "banana": 6, "ap
2015-01-13 13:48:14
694
原创 Python学习(一)
接触Python已有一周时间,看廖雪峰的网页接着跟着codecademy上做些小项目。现在贴一点做过的小程序,权当记录。做一个外出旅行花费的小codedef hotel_cost(nights): return 140*nightsdef plane_ride_cost(city): if city=="Charlotte": return 183
2015-01-08 20:56:46
705
原创 关于SICK公司的LMS511返回数据的数据结构说明
由于项目的要求,接触LMS511扫描仪有段时间了。现在就说说LMS511返回的数据。STX[1] STX数据帧的开始标志,ASCII=2[2] sSN=连续测量,sRN=单次测量[3] 固定字段LMDscandata[4] 版本号,一般为0[5] 设备号,一般为1[6] 出厂序列号,每台激光不同,一般为固定值[7][8] 设备状态, 0 0 正常,0 1 出
2014-12-31 09:49:56
7168
3
原创 C Primer Plus(第五版)学习(九)
看到第11章《字符串和字符串函数》,就会发现这里指针的概念变得很常用,数组指针也就是数组的元素不再是数值(字符型,整型,double型),而是地址,存放的是指向某个内存单元的地址。只要时刻记得这个,就不会出现=左值不相等的情况。1.设计并测试一个函数,可以从输入读取n个字符(包括空格、制表符和换行符),把结果存储在一个数组中,这个数组的地址通过参数来传递。#include #include
2014-12-04 08:46:53
1343
原创 C Primer Plus(第五版)学习(八)
第10章《数组和指针》,回想当时刚接触C语言的时候觉得指针这块太晦涩难懂,确实是,很多人学习指针的时候都有这样的感觉。其实只要多做练习,就能渐渐熟悉指针到底是个神马东西,在程序中能起到什么样的作用。开始本章习题:1.修改程序清单10.7中的程序rain,使它不使用数组下标,而是使用指针进行计算(程序中仍然需要声明并初始化数组)。//只要把ar[i]转换成*(ar+i)即可
2014-11-29 08:49:43
833
原创 C Primer Plus(第五版)学习(七)
第9章《函数》在这一章中,模块化处理是主要思想,以后面对的程序代码会越来越大,为了能分式高效的完成代码的编写,避免重复编写代码的繁琐,不得不模块化也就是函数,这样也有利于程序的阅读和修改完善。利用了函数,我们就可以值关注主体部分也就是main()函数,把函数看成“黑盒子”值要直到输入和输出,不需要太纠结"黑盒子”里到底是什么。好了,编程练习:欢迎讨论交流1.设计函数min(x,y),返
2014-11-26 08:52:04
1243
原创 C Primer Plus(第五版)学习(一)
之前学习过c语言,当时大学时候的教材是谭浩强的那本,你懂的,大学没有认真学,现在又要重头补。为了能细致的学习C语言,为以后打下基础,决定从头学习C Primer Plus这个书。因为书后的编程习题没有答案,所以在博客上写下代码段(可能很简单,很基础,请各位不要嘲笑!)也许你有更好的算法请告诉我,或者我有错误的地方也请赐教。言归正传,本书的前3张是概论,没有什么练习题,所以从第4章《字符串和格式
2014-11-15 17:52:25
1703
原创 嵌入式学习mini2440(一)——使用VMware安装fedora20操作系统
大家好,从今天开始会陆续发表一些关于嵌入式学习过程中的总结,主要目的是为了和大家一起交流学习,由于水平有限,恳请大家不吝赐教。这是我第一次写博客,算是个学习循序渐进的过程吧。话不多说,言归正传。学习嵌入式有很多开发环境有Windows、Android、Linux。在这我先选择Linux开发平台,个人喜好吧。既然这样我们就先得在自己的电脑上安装Linux操作系统,这里选择最简单方便,不会造成任何
2014-11-08 20:14:12
1671
leetcode题解PDF版
2015-05-14
对称字符串
2015-03-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人