搬运工

导航

随笔分类 -  C/C++

2.判断回文(Anagrams)
摘要:Question:Write a method to decide if two strings are anagrams or not.(写一个函数判断两个字符串是否使用相同的字符构成。)简单方法:对两个字符串重排序,再比较是否相等。(Java,C#等内置字符操作方法的容易实现!)看这道题时首先就犯了一个致命的错误,把单词anagrams意思理解错了。以为题目是判断两个字符串是否互为反转(查看有道的答案,那也太简单了吧)。最后google,发现原来是回文的意思。英语不好害死人啊。之后设计算法时,方法都比较土,时间复杂度O(n^2)。没办法最后还是看作者的答案了。开始还没看懂,囧。最后发现真是 阅读全文

posted @ 2012-07-10 22:55 hackergodness 阅读(1052) 评论(0) 推荐(0)

1.判断字符串中的字符是否Unique
摘要:最近开始研究《Cracking the Coding Interview》一书,其实就是美版的IT面试宝典。但是细细品读下来,感觉其质量要优于国内的许多同类书籍。言简意赅,不拖泥带水,作者希望引导读者如果循序渐进思考、提高个人技能。 有感于自己之前实习面试的挫折经历,发现对很多知识点理解都很浅,借此机会夯实下基础,以便迎接之后找工作大业......Question1. Implement an algorithm to determine if a string has all unique characters. What if you can not use additional da.. 阅读全文

posted @ 2012-07-07 12:16 hackergodness 阅读(496) 评论(0) 推荐(0)

二叉树层次遍历队列实现
摘要:这念头学艺不精就要被人鄙视,自国外某知名软件公司面试完后,发现学过的全忘脑后了。对着面试官只能“说不知道”,“不好意思,想不起来了”。一点印象都没了,想憋都憋不出来啊。。。 一个简单的层次遍历,写着写着成了先序遍历。然后就死循环了。关键就是那一点未透——队列。 二叉树的层次遍历,是指从二叉树的第一层(根结点)开始,从上至下逐层遍历。在同一层中,则按从左到右的顺序对结点逐个访问。在进行层次遍历时,当前层结点访问完后,再按照它们的访问次序对各个结点的左孩子和右孩子顺序访问,这样一层一层进行,先遇到的结点先访问,这与队列的操作原则比较吻合。因此,在进行层次遍历时,可设置一个队列结构,遍历从二叉树.. 阅读全文

posted @ 2012-05-06 15:37 hackergodness 阅读(4114) 评论(1) 推荐(0)

Ubuntu 11.04 下OpenCV安装
摘要:由于项目要求,需要使用OpenCV处理网络摄像头的视频数据,实现目标跟踪。首先当然是OpenCV配置了。环境要求Ubuntu11.04OpenCV 2.3.1具体步骤如下:(一)执行以下指令,删除ffmpeg and x264 的任何旧版本,如果以前没有安装也没有问题。sudo apt-get remove ffmpeg x264 libx264-dev(二)下载并安装x264: 下载一个最近的stable snapshot of x264版本,下载地址为:ftp://ftp.videolan.org/pub/videolan/x264/snapshots/. 下载的版本并没有严格的要求... 阅读全文

posted @ 2012-04-12 16:04 hackergodness 阅读(1801) 评论(3) 推荐(1)

size_t类型
摘要:size_t 类型定义在cstddef头文件中,该文件是C标准库的头文件stddef.h的C++版。它是一个与机器相关的unsigned类型,其大小足以保证存储内存中对象的大小。 例如:bitset的size操作返回bitset对象中二进制位中的个数,返回值类型是size_t。 例如:在用下标访问元素时,vector使用vector::size_type作为下标类型,而数组下标的正确类型则是size_t。 size_t是标准C库中定义的,应为unsigned int。 在C++中,设计 size_t 就是为了适应多个平台的 。size_t的引入增强了程序在不同平台上的可... 阅读全文

posted @ 2012-03-03 11:02 hackergodness 阅读(741) 评论(0) 推荐(0)

volatile的使用
摘要:一个定义为volatile的变量是说这变量可能会被意想不到地改变,这样,编译器就不会去预先假设这个变量的值了。精确地说就是,优化器在用到这个变量时必须每次都小心地重新读取这个变量的值,而不是使用保存在寄存器里的备份。下面是volatile变量的几个例子: 1). 并行设备的硬件寄存器(如:状态寄存器) 2). 一个中断服务子程序中会访问到的非自动变量(Non-automatic variables) 3). 多线程应用中被几个任务共享的变量 回答不出这个问题的人是不会被雇佣的。我认为这是区分C程序员和嵌入式系统程序员的最基本的问题。嵌入式系统程序员经常同硬件、中断、RTOS等等打交道... 阅读全文

posted @ 2011-11-04 22:32 hackergodness 阅读(227) 评论(0) 推荐(0)

冒泡算法中的小陷阱
摘要:今天写了个冒泡算法从小到大排序的小程序。编译之后DOS界面出现了,但是会发生如下错误:原部分代码如下:View Code int main(void){ sport a[12]={{"001",13.6},{"002",14.8},{"010",12.0}, {"011",12.7},{"023",15.6},{"025",13.4}, {"031",14.9},{"036",12.6},{"037",13.4}, 阅读全文

posted @ 2011-09-08 19:39 hackergodness 阅读(210) 评论(0) 推荐(0)

C++“iomanip”头文件
摘要:iomanip.h是I/O流控制头文件,就像C里面的格式化输出一样. 在新版本的c++中头文件已经用iomanip取代了iomanip.h。 以下是一些常用的函数: dec 置基数为10 相当于"%d" hex 置基数为16 相当于"%X" oct 置基数为8 相当于"%o" setfill(c) 设填充字符为c setprecision(n) 设显示小数精度为n位 setw(n) 设域宽为n个字符 setiosflags(ios::fixed) 固定的浮点显示 setiosflags(ios::scientific) 指数表示 se 阅读全文

posted @ 2011-09-08 15:47 hackergodness 阅读(1122) 评论(0) 推荐(0)

Warning LNK4068:未指定 /MACHINE
摘要:刚使用Visual Studio C++2005,刚编译就报错,真是狂打击积极性啊。百度了一会找到解决办法,如下: 照着网上教程在项目属性修改,依旧错误,方法不对, 继续百度,又找到以篇: 直接Visual Studio 2005中进行如下设置: tools= > Options = > Projects and Solutions - > VC++ Directories page 把$(PATH)改成:$(SystemRoot)\System32;$(SystemRoot) ;$(SystemRoot)\System32\wbem 编译,通过。唉,真是出师不利,以后还有好 阅读全文

posted @ 2011-08-05 20:27 hackergodness 阅读(1578) 评论(1) 推荐(0)

求助,Microsoft Visual Studio2010使用遇到问题
摘要:刚安装Visual Studio2010,写了个最简单的hello world,却出现个问题,网上找不到解决方案,求高手帮解决!(是不是安装环境有问题?)error MSB4014: Microsoft.Build.Exceptions.BuildAbortedException: 已取消生成。未能以子节点形式启动 MSBuild.exe,因为在位置“C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe”处找不到该程序。如有必要,请在 BuildParameters 中或使用 MSBUILD_EXE_PATH 环境变量指定正确的位置 阅读全文

posted @ 2011-06-17 20:09 hackergodness 阅读(1489) 评论(2) 推荐(0)