自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(94)
  • 资源 (1)
  • 收藏
  • 关注

原创 统计一行字符串中有多少个单词

【题目】输入一行字符,统计其中有多少个单词,每两个单词之间以空格隔开。如输入: This is a c++ program. 输出:5 较简单就不做注释了#include <iostream>using namespace std;int CountWord(char * str){ if (' ' == *str) { str++; } int

2015-09-27 21:34:02 726

原创 [LeetCode]String to Integer (atoi)atof,itoa

好像也不算太难,核心的代码只有几行,但是往往需要我们重点考虑的其实是在各种特殊输入的考虑上。 #include <iostream>#include <cstdio>using namespace std;float atof(const char * arr){ const char * index = arr; float result = 0; int fcoun

2015-09-26 20:28:31 1097

原创 全排列

学霸和学渣的区别呢就是学的快慢的问题,同样看一本书,学霸看就好像普通翻页一样,一页一页翻得唰唰的,学渣看每一道题都像是一道大山,花费一两天的功夫可能就搞出一道题。 Ellis-数据结构第一章最后轻描淡写了一个全排列,习题里给了汉诺塔做练习,可能作者觉着这些玩意都很简单,唉,对我们渣渣来说都是大山啊~关于全排列,以’abc’为例,我们先交换a和b,得到’bac’,或者交换a和c,得到’cba’,这时

2015-09-25 10:44:19 218

原创 元胞自动机

即生命游戏,今天下午迅雷的笔试编程题。 简单的版本,给定当前的状态,给出下一个时刻的状态。 status函数获取某点当时周围的活的细胞数量, 代码写的比较渣#include <iostream>#include <vector>#include <stdio.h>using namespace std;#define MAX 10010int status(vector<vector<c

2015-09-24 20:49:27 409

原创 关于for循环

感觉自己蠢死了,这么多年的程序都白写了! 下午替同学答迅雷笔试题,最后一道编程题是元胞自动机,离交卷还有1个小时我就写完了,他给的测试也过了,然而提交后发现只AC了20%,然后剩下的一个小时全在改,最后也没AC。。。 他给的测试用例里恰好是位于中心的几个点,不牵扯边界,但是我写的时候也考虑边界了啊,为啥错了呢,后来逐步简化,发现原来是我根本不会写for循环!!!for (int i = 0; i

2015-09-24 20:30:43 241

原创 已排序数组中,找出给定数字出现的次数

微软的面试题。。。感觉好高大上的样子 我想的比较简单粗暴l = [2, 3, 6, 6, 6, 9]count = 0for x in l: if x == 6: count += 1print(count)当然对于已排序的数组,无疑二分查找更高效#include <iostream>#include <vector>#include <cstring>#inc

2015-09-24 11:03:35 370

原创 二分查找递归非递归实现

以往的评估说明有80%的编程初学者不能在第一次就写出正确的折半搜索算法 –Larry Nyhoff的数据结构与算法分析第一章Nyhoff的书中还详细给出了易犯得错误,并给出了详细的测试。递归版本int bi_search(int a[], int left, int right, int find_num){ if (left <= right) { int

2015-09-23 17:16:07 276

原创 位运算与逻辑运算

一直没搞明白这个,今天好好捋了捋 逻辑运算是&&、||这些,而位运算是&、|、^这些。&& 逻辑与,这个好理解,必须两边全为真的时候整个表达式才为真,所以它还具有了短路功能,即只要左边为假则不必计算右边的值了|| 逻辑或,有一个为真整个表达式就为真。& 按位与,即都为1结果才为1, 2(010)&7(111)的结果为2(010)| 按位或,只要有1就为1^ 异或,我的理解就是

2015-09-23 16:00:08 702

原创 [LeetCode]Implement strStr()-字符串匹配

面试滴滴,实现strstr函数,输入父串子串,返回子串第一次出现的位置,否则返回-1;当场搞了一个小时没写出来。。。。 还是基本功不扎实,面试官最后跟我讲,你的简历应该是一部字典,上面的每一个字都应该有把握详细讲给别人听。#include <iostream>// #include <cstring>using namespace std;int strstr(char * str, char

2015-09-23 11:06:11 220

原创 sizeof

strlen是函数,执行计数,碰到’\0’结束,然后返回计数器的值; sizeof是关键字,它以字节的形式给出了其操作数的存储大小,返回结果是size_t,实际就是unsigned int。很有意思,strlen在遇到’\0’后直接结束,所以l1是0,而单个0strlen结果是1,双反即单反的strlen结果是1,如果直接strlen(“\”)呢,编译不过。 而sizeof的所有结果都是2!

2015-09-15 21:57:21 235

转载 C++之多态性、虚函数、虚继承

本来想自己写一篇,发现已经有人写的很棒了,就转载了 原文地址:http://www.cnblogs.com/CaiNiaoZJ/archive/2011/08/11/2134673.html http://blog.csdn.net/crystal_avast/article/details/7678704C++之多态性与虚函数面向对象程序设计中的多态性是指向不同的对象发送同一个消息,不同对象对

2015-09-10 16:02:06 340

原创 最长公共子序列

分两种,LCS不连续也可和LSS必须连续 最容易想到的是穷举,然而最容易想到的肯定时空复杂度不行。 设序列X={x1,x2,….xm}和Y= {y1,y2…,yn}的一个最长公共子序列为Z={z1,z2,…zk},则 (1) 若xm=yn ,则zk=xm=yn,且Zk-1是Xm-1和Yn-1的最长公共子序列。 (2)若xm≠yn,且zk≠xm,则z是Xm-1和Y的最长公共子序列。 (3)若

2015-09-08 17:32:37 226

原创 单例模式

单例模式应该是GoF中最简单的设计模式,它是允许一个类有且仅有一个实例的方法。 所有的类都有构造方法,不显式定义的话系统会默认生成空的构造方法,若有定义的话,默认的构造方法就会失效。如果我们将类的构造方法写成是private的,那么外部程序就不能来实例化它了。 另外拷贝构造函数和复制构造函数被声明为私有,当然也没有实现。 那么怎么使用这个类呢,我们可以写一个public的方法,返回一个类实例,

2015-09-08 10:36:45 194

原创 数据类型对应字节数

在深入理解计算机系统这本书上面提到了在32位机器和64机器中int类型都占用4个字节。就顺便试了下其他的数据类型。 32位结果如下: 需要说明一下的是指针类型存储的是所指向变量的地址,所以32位机器需要32bit,而64位机器需要64bit。64位编译器: 类型 字节数 char 1个字节 char*(即指针变量) 8个字节 short int 2个字节 int

2015-09-07 13:55:22 327

原创 常量const

const设计用来代替#define,因为宏只是做文本代替,并不能进行类型检查。 const的复杂情况在于指针,它要从里向外读,const修饰最靠近它的那个。1.const int * u;int const * u;这两个定义是一个效果,都是u所指向的值不能变,即(*u)不变。一般我们使用第一种写法,但我觉得第二种写法更容易区分,因为所修饰的内容就在const的右边。 2.int d = 1

2015-09-07 10:49:21 244

原创 单向链表删除节点

此问题由BST删除节点简化而来,主要是手头的基本数据结构书给的方法都不一样,主要参考书为《数据结构与算法分析-C++语言描述》–Larry Nyhoff、《数据结构与算法分析-C++描述》–Mark Allen Weiss、《大话数据结构》、《数据结构-C语言版》–Ellis Horowitz、《算法导论》。假设a、b、c三个节点组成一个链表,要删掉b节点,可以有两种做法找到b的前驱节点a,让a的

2015-09-05 13:31:32 313

原创 GitHub提交失败

这两天GitHub总是提交失败,百思不得其解,看status是已经commit了,但就是push不上去,从stackoverflow上转了半天,开始以为是不是SSH的事,整了个新的也不行。push不行,pull也不行。后来测试SSH连接 ssh -T git@github.com 果然不通 ssh: connect to host github.com port 22: Bad file nu

2015-08-29 13:10:59 387

原创 Sublime Text 3写C/C++

哈哈好高兴,之前在http://blog.csdn.net/w15971597/article/details/46491715里提到用sublime写c++的话有几个设置,最后的结果就是CTRL+B编译,F5运行,可是这样分两步好不爽啊,VS里只要F5(这个我修改过)一下就好了啊。今天又在那个配置文件下琢磨了半天改来改去终于改好啦{ // "shell_cmd": "g++ \"${fil

2015-08-28 11:37:03 418

原创 new,delete & malloc,free

C语言提供了动态内存分配(dynamic memory allocation)函数malloc和free及malloc的变体alloca.calloc,realloc等。其中alloca是向栈申请内存,因此无需释放。malloc从堆中申请内存,并且没有初始化内存的内容,里面存的是垃圾数,因此我们一般用memset来初始化这部分的内存空间。calloc则将初始化这部分的内存,设置为0,而realloc

2015-08-17 22:06:10 214

原创 动态数组与静态数组

使用数组,一直习惯#include <iostream>#define MAX 500010using namespace std;int main(int argc, char const *argv[]){ int arr[MAX] = {0}; int N = 0; cin >> N; for (int i = 0; i < N; ++i) {

2015-08-16 16:41:06 554

原创 指针与字符串

#include <iostream>using namespace std;int main(int argc, char const *argv[]){ const char str1[] = "abc"; const char str2[] = "abc"; const char *p1 = "abc"; const char *p2 = "abc";

2015-08-14 20:45:02 204

转载 Python yield 使用浅析

原文地址:http://www.ibm.com/developerworks/cn/opensource/os-cn-python-yield/#icomments 作者:廖 雪峰, 软件工程师, HP 2012 年 11 月 22 日初学 Python 的开发者经常会发现很多 Python 函数中用到了 yield 关键字,然而,带有 yield 的函数执行流程却和普通函数不一样,yield

2015-08-14 11:10:02 215

原创 实现一个简单的vector

我的确认为99.99%的程序员所写的程序,在SGI STL面前都是三流水准—-侯捷 当然,我还没有剖析STL源码的能力,我照葫芦画瓢写一个简单的vector实现#include <iostream>using namespace std;template <typename Object>class Vector{public: explicit Vector(int ini

2015-08-08 21:51:45 255

原创 python 中文分词

英文单词之间是以空格作为自然分界符的,而汉语是以字为基本的书写单位,词语之间没有明显的区分标记,因此,中文词语分析是中文信息处理的基础与关键。分词算法可分为三大类:基于字典、词库匹配的分词方法;基于词频度统计的分词方法和基于知识理解的分词方法。在基于字典、词库匹配的分词方法中,又分为正向最大匹配、逆向最大匹配、最大切分、双向匹配。## 最大正向匹配法 (MaximumMatchingMet

2015-08-05 20:18:35 715 1

原创 数组求和、两个数的最大公约数及最小公倍数

递归的思想就是一层一层扒皮,最后的芯要能结束递归。算法实现int arr_sum(int a[], int length){ if (length == 0) { return 0; } else return arr_sum(a, length - 1) + a[length - 1];}测试用例#include <iost

2015-07-25 21:04:36 404

转载 python中xrange和range的异同

range 函数说明:range([start,] stop[, step]),根据start与stop指定的范围以及step设定的步长,生成一个序列。 range示例:>>> range(5) [0, 1, 2, 3, 4] >>> range(1,5) [1, 2, 3, 4] >>> range(0,6,2)[0, 2, 4]xrange 函数说明:用法与ran

2015-07-23 22:59:42 242

原创 关于Sublime Text的几个备忘录

sublime text中用python3运行文件在sublime text中可以使用快捷键cmd + b(windows是CTRL + b)快速运行一个python文件,sublime会直接调用系统默认python运行文件,并在下面的框里弹出结果。 如果你系统中有多个版本的python,想用其他版本的python话 选择New Build System,添加以下内容{ "cmd": ["/u

2015-06-14 15:48:22 720

原创 帕斯卡三角形,又称杨辉三角形

帕斯卡三角形,又称杨辉三角形是二项式系数在三角形中的一种几何排列。帕斯卡三角形通常从第0行开始枚举,并且每一行的数字是上一行相邻两个数字的和。在第0行只写一个数字1,然后构造下一行的元素。将上一行中数字左侧上方和右侧上方的数值相加。如果左侧上方或者右侧上方的数字不存在,用0替代。下面给出6行的帕斯卡三角形:     1    1 1   1 2 1  1 3 3 1

2015-06-10 10:31:55 3044

原创 二分查找素数

定义一个 prime() 函数求整数 n 以内(不包括n)的所有素数(1不是素数),并返回一个按照升序排列的素数列表。使用递归来实现一个二分查找算法函数bi_search(),该函数实现检索任意一个整数在 prime() 函数生成的素数列表中位置(索引)的功能,并返回该位置的索引值,若该数不存在则返回 -1。 输入格式: 第一行为正整数 n 接下来若干行为待查找的数字,每行输入一个数字输出格式

2015-06-09 21:45:40 916

原创 2、3、4、5计算得到 28

使用 Python 的算术运算符 +、-、、/、*(没有%),和数字 2、3、4、5,构造一个表达式,使用所有的4个数字和3个运算符各一次,计算得到 28,在下面的空格中填入不含空格的表达式。提示:构建字符串,然后使用 Python 的 eval() 函数,它的参数为字符串,计算该字符串,并返回计算结果,例如: eval(‘2*3+4’) 返回整数 10。可能比较聪明的小伙伴口算就得出结果,我鼓捣了

2015-06-09 19:15:53 2157

原创 计算一系列给定字符串的字母值

依次计算一系列给定字符串的字母值,字母值为字符串中每个字母对应的编号值(A对应1,B对应2,以此类推,不区分大小写字母,非字母字符对应的值为0)的总和。例如,Colin 的字母值为 3 + 15 + 12 + 9 + 14 = 53输入格式: 一系列字符串,每个字符串占一行。输出格式: 计算并输出每行字符串的字母值。输入样例: Colin ABC输出样例: 53 6#!/usr/bin/

2015-06-03 18:49:28 1660

原创 依次判断一系列给定的字符串是否为合法的 Python 标识符。

依次判断一系列给定的字符串是否为合法的 Python 标识符。输入格式: 一系列字符串,每个字符串占一行。输出格式: 判断每行字符串是否为合法的 Python 标示符,如果合法则输出 True,否则输出 False。输入样例: abc _def 21gh输出样例: True True Falseimport rel = []while True: s = raw_inpu

2015-06-03 16:44:54 3454

原创 Pig Latin

“Pig Latin”是一个英语儿童文字改写游戏,整个游戏遵从下述规则:(1). 元音字母是‘a’、‘e’、‘i’、‘o’、‘u’。字母‘y’在不是第一个字母的情况下,也被视作元音字母。其他字母均为辅音字母。例如,单词“yearly”有三个元音字母(分别为‘e’、‘a’和最后一个‘y’)和三个辅音字母(第一个‘y’、‘r’和‘l’)。(2). 如果英文单词以元音字母开始,则在单词末尾加入“hay”后

2015-06-03 16:33:01 471

原创 Sublime Text自动保存

一直用ST+cmd写python,之前每次写完运行前都要Ctrl+S保存一下,但是VS每次运行的都不用的保存的,仔细研究了下ST的perferences,终于找到了下面这行 "save_on_focus_lost": true,默认是false的,改成true之后,一旦切出st就自动保存了

2015-05-28 22:16:32 2326

原创 10以内的素数2,3,5,7的和为17。要求计算得出任意正整数n以内的所有素数的和。

求质数的三种方法: /*求素数的三种方法 一:for(i=2;i<=(n-1);i++) if(n%i==0)i在2到n-1之间任取一个数,如果n能被整除则不是素数,否则就是素数 二:for(i=2;iimport math Nsum = 0n = int(raw_input())def isprime(n): for i in xrange(2, int(math.sqr

2015-05-27 20:58:06 1878

转载 python使用matplotlib绘图 -- barChart

转帖来自与http://www.cnblogs.com/qianlifeng/archive/2012/02/13/2350086.htmlmatplotlib 是python最著名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地进行制图。而且也可以方便地将它作为绘图控件,嵌入GUI应用程序中。它的文档相当完备,并且 Gallery页面 中有上百幅缩略图,打开之后都有源程序。

2015-05-22 15:04:21 294

原创 OJ

今天心血来潮试了下几个OJ网站 ZOJ和51nod,试了个最简单的1001题就出了问题 ZOJ Problem Set - 1001A + B Problem Time Limit: 2 Seconds Memory Limit: 65536 KB Calculate a + b Input The input will c

2015-05-11 12:59:00 320

原创 利用迭代器逆向输出vector

反向迭代器reverse_iterator,从rbegin(=end)到rend(=begin-1)反向遍历,仍然通过++ 以下是三种利用迭代器逆向输出vector中内容的方式:#include <iostream>#include <vector>using namespace std;int main(){ vector<int> vec; int i; cin

2015-05-05 22:31:12 619

转载 关于vector对象的insert及初始化

原帖地址http://blog.csdn.net/iicooder/article/details/7220992vector向量容器中使用insert()方法,可以在vector对象的任意位置前插入一个新的元素,书上说,insert()方法要求插入的位置,是元素迭代器的位置,而不是元素的下标,刚开始不太明白什么意思,直到看了一个程序后才知道。#include<vector>#include<io

2015-05-04 15:54:32 517

原创 python读写excel

今天想做个读写excel的雏形,http://www.cnblogs.com/lhj588/archive/2012/01/06/2314181.html从这篇博文里看了下大致的介绍,然后拷贝了他那份代码,我电脑装的是office2010,就新建了个xlsx文件,随便写了几个数,然而却不能读取,在群里问了下,xlrd那个模块只能处理xls,想处理xlsx需要另外一个xlsxwriter模块,嫌麻烦就

2015-04-27 17:20:06 244

opencv运动物体跟踪

基于opencv的运动物体检测小程序,注意opencv是1.0版本,环境是VC++6.0,大家注意下版本

2013-06-01

空空如也

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

TA关注的人

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