- 博客(107)
- 收藏
- 关注
转载 JAVA oj注意事项
基本输入输出其实我感觉在有c基础后,学习java还是挺简单的,写acm时候主要是不太适应java的输入输出,其实关键还是在于你心里是否接受java的语法(吐槽:java的api的名字太TM长了吧) 在c里输入输出的标准格式: [cpp] #include int main(void) { int
2016-06-20 15:01:43
2468
转载 p1001
1.求int型数据在内存中存储时1的个数输入一个int型数据,计算出该int型数据在内存中存储时1的个数。我们很容易想到如下方法:[cpp] view plain copy print?#include using namespace std; int main() { int n,cnt=0;
2016-06-20 14:34:14
918
转载 安卓onkeyup onkeydown事件小记
安卓软键盘的实现:http://blog.youkuaiyun.com/hfsu0419/article/details/7924673Activity.onKeyDown(); 当某个键被按下时会触发,但不会被任何的该Activity内的任何view处理。 默认按下KEYCODE_BACK键后会回到上一个Activity。 Activity.onKeyUp(): 当某个按键被
2016-02-01 16:52:50
7227
转载 svm工具箱快速入手简易教程
svm工具箱快速入手简易教程 首先svm是用来做分类的,是一种有监督的分类器. 什么是有监督的呢?就是说在你给我一个数据集让我做分类之前.我已经有一些经验数据了.即要先进行学习,再进行分类. 这里就有了训练集和测试集.先用训练集来训练分类器.然后把测试数据输入分类器让分类器来进行分类. 具体的svm分类器的原理在此不作讨论. 这里我有下载htt
2016-01-28 20:26:18
3433
转载 Matlab图像处理:误拒率、误识率意义,计算等错误率的Matlab源码
图像处理中经常有误拒率和误识率两个概念,今天简介下。 误拒率,就是错误拒绝的意思,指的类内匹配。如果有10个志愿者的样本,每个志愿者20幅样本。那么相对于类内测试,比如对1号志愿者,同一类的这20幅图片之间,互相匹配,假设1:1的匹配,互相不重复能够进行(20*19)/2次。如果10个志愿者都进行这么测试,就是10*(20*19)/2次。这是总的类内匹配次数。预设定阈值为TH,如果
2016-01-06 11:36:44
4654
转载 N个人戴帽子问题
1. N个人戴帽子,有红黄两种颜色的帽子。每个人都能看到其他所有人的帽子,但是看不到自己的。从最后一个人开始,报自己帽子的颜色。问,事先商量什么策略可以使最后报对帽子颜色的人至少为N-1?(没有色盲) 还可以扩展到m种颜色。。。 策略: 对M种帽子编号,并且加权,使0号颜色帽子权值为1,1号颜色帽子权值为2.,M-1号帽子颜色为M,最后一
2015-09-25 21:40:27
3640
转载 数据库建表原则
关键字: 数据库建表原则·1. 原始单据与实体之间的关系可以是一对一、一对多、多对多的关系。在一般情况下,它们是一对一的关系:即一张原始单据对应且只对应一个实体。在特殊情况下,它们可能是一对多或多对一的关系,即一张原始单证对应多个实体,或多张原始单证对应一个实体。这里的实体可以理解为基本表。明确这种对应关系后,对我们设计录入界面大有好处。〖例〗:一份员工履历资料,在人力资源
2015-09-08 16:33:19
13792
转载 C语言---函数返回局部变量
一般的来说,函数是可以返回局部变量的。 局部变量的作用域只在函数内部,在函数返回后,局部变量的内存已经释放了。因此,如果函数返回的是局部变量的值,不涉及地址,程序不会出错。但是如果返回的是局部变量的地址(指针)的话,程序运行后会出错。因为函数只是把指针复制后返回了,但是指针指向的内容已经被释放了,这样指针指向的内容就是不可预料的内容,调用就会出错。准确的来说,函数不能通过返回指向栈内存的指针(注意
2015-09-08 10:42:36
900
转载 C++函数中那些不可以被声明为虚函数的函数
常见的不不能声明为虚函数的有:普通函数(非成员函数);静态成员函数;内联成员函数;构造函数;友元函数。1、为什么C++不支持普通函数为虚函数? 普通函数(非成员函数)只能被overload,不能被override,声明为虚函数也没有什么意思,因此编译器会在编译时邦定函数。2、为什么C++不支持构造函数为虚函数? 这个原因很简单,主要是从语义上考虑
2015-09-03 18:25:34
533
转载 C++单例模式
单例模式单例模式,可以说设计模式中最常应用的一种模式了,据说也是面试官最喜欢的题目。但是如果没有学过设计模式的人,可能不会想到要去应用单例模式,面对单例模式适用的情况,可能会优先考虑使用全局或者静态变量的方式,这样比较简单,也是没学过设计模式的人所能想到的最简单的方式了。一般情况下,我们建立的一些类是属于工具性质的,基本不用存储太多的跟自身有关的数据,在这种情况下,每次都去new一
2015-08-24 16:20:47
449
转载 面向对象的5个基本原则
最基本的设计原则有5条,分别是:单一职责原则、开放封闭原则、依赖倒置原则、接口隔离原则和Liskov替换原则。 单一职责原则 对于单一职责原则,其核心思想为:一个类,最好只做一件事,只有一个引起它的变化。单一职责原则可以看做是低耦合、高内聚在面向对象原则上的引申,将职责定义为引起变化的原因,以提高内聚性来减少引起变化的原因。职责过多,可能引起它变化的原因就越多,这将导致职责依赖
2015-08-24 15:28:34
683
转载 多线程笔试面试题汇总
系列前言 本系列是本人参加微软亚洲研究院,腾讯研究院,迅雷面试时整理的,另外也加入一些其它IT公司如百度,阿里巴巴的笔试面试题目,因此具有很强的针对性。系列中不但会详细讲解多线程同步互斥的各种“招式”,而且会进一步的讲解多线程同步互斥的“内功心法”。有了“招式”和“内功心法”,相信你也能对多线程挥洒自如,在笔试面试中顺利的秒杀多线程试题。 -----
2015-08-22 01:44:41
938
转载 sscanf()总结
在做一道九度上机题时,突然发现sscanf()函数非常有用,就顺便从网上搜集资料整理一下。 sscanf() 的作用:从一个字符串中读进与指定格式相符的数据.原型: int sscanf (const char *str,const char * format,........);说明: sscanf()会将参数str的字符串根据参数format字符串来
2015-08-19 09:38:10
463
转载 char数组与char指针
char数组与char指针1、以字符串形式出现的,编译器会在结尾自动添加\0,思考,为什么? 存在的C语言方法,如strlen(s),计算字符串的长度,其中s指针。strlen要计算字符串长度,必须知道哪里是结尾,因此使用\0表示结尾。只有字符数组才有\0的概念,其它类型(int)的数组没有这个概念。因为其他类型的数组或者指针,没有strlen这种方法。 那么问题来了,int数
2015-08-18 10:57:00
1317
转载 char、char*、char**数组
平时都用的是char数组,基本忘记了char*数组和char**数组该怎么用了char s1[10];s1[0] s1[1]等都是chars1是char*,等同于&s1[0] char*s2[10];s2[0] s2[1]等都是char**s2[0] *s2[1]等都是char,是s2[0] s2[1]指向的字符串的第一个字符s2
2015-08-18 10:50:38
1006
转载 C++中 map容器的介绍
Map是c++的一个标准容器,她提供了很好一对一的关系,在一些程序中建立一个map可以起到事半功倍的效果,总结了一些map基本简单实用的操作!1. map最基本的构造函数; mapmapstring; mapmapint; mapmapstring; mapmapchar; mapmapchar; mapmapint
2015-08-18 10:01:41
422
转载 char*数组(c类型字符串)和c++中的string的转换、字符串比较、char*数组等问题
char ch[100];string str;把char*(c类型的string)数组转换为string:str = ch; //即可str.assign(ch); //也可把string类型转换为char*数组:strcpy(ch,str.c_str()); //即可for(int i = 0; i { ch = str.at(i);
2015-08-18 09:57:31
5071
转载 sprintf和sscanf详解
1、前言 我们经常涉及到数字与字符串之间的转换,例如将32位无符号整数的ip地址转换为点分十进制的ip地址字符串,或者反过来。从给定的字符串中提取相关内容,例如给定一个地址:http://www.bokeyuan.cn:2345,我们要从地址中提出协议,主机地址和端口号。之前对字符串和数字之间的关系不是很熟悉,工作中经常涉及到这个,如是好好总结一下。C语言提供了一些列的格式化输入输出
2015-08-17 16:32:04
750
转载 不用库函数 求解立方根
题目:如标题所示,不用平方根库函数,求解一个数字的平方根。分析:这个问题有两个思路:思路1:采用二分的方式(无处不在的二分),上界初始化为数字本身,下界初始化为1,这样用二分,判断中间数字的平方和目标数字比较,再修改上界和下界,直到小于一定的阈值。思路2:采用牛顿法(数值分析中提到),采用微分的方式,从初始点开始,每次迭代,微分求解切线,然后求解切线和x轴的
2015-08-17 15:54:06
5733
1
转载 C语言求最小公倍数和最大公约数三种算法
最小公倍数:数论中的一种概念,两个整数公有的倍数成为他们的公倍数,其中一个最小的公倍数是他们的最小公倍数,同样地,若干个整数公有的倍数中最小的正整数称为它们的最小公倍数,维基百科:定义点击打开链接求最小公倍数算法:最小公倍数=两整数的乘积÷最大公约数求最大公约数算法:(1)辗转相除法有两整数a和b:① a%b得余数c② 若c=0,则b即为
2015-08-17 15:20:19
905
转载 c中字符串分割函数strtok
1. strtok介绍众所周知,strtok可以根据用户所提供的分割符(同时分隔符也可以为复数比如“,。”)将一段字符串分割直到遇到"\0".比如,分隔符=“,” 字符串=“Fred,John,Ann”通过strtok 就可以把3个字符串 “Fred” “John” “Ann”提取出来。上面的C代码为QUOTE:int in=0;c
2015-08-16 23:54:11
3201
转载 vector中erase()方法详解
vector::erase():从指定容器删除指定位置的元素或某段范围内的元素vector::erase()方法有两种重载形式如下:iterator erase( iterator _Where);1.iterator erase( iterator _First, iterator _Last);如果是删除指定位置的元素时:返回值是一个迭代
2015-08-16 23:29:06
5056
2
转载 递归的应用-组合数求解
从N个数中选择k个,共有多少组合?简单说就是求解C(N,k)。实际问题,有N个教授,要选择k个组成委员会,共有多少种组合方式?递归法:将这N个人按照编号从小到大排好, 1,2,3...,k,...N现在考虑从前M个人中选择k个,那么有两种情况:1. 第M个人选进去,那么就是从剩下的M-1个人中选择k-1个,再加上第M个组成;2. 第M个人不选进去
2015-08-16 15:41:49
5981
转载 并查集 杭电1232畅通工程
并查集是我暑假从高手那里学到的一招,觉得真是太精妙的设计了。以前我无法解决的一类问题竟然可以用如此简单高效的方法搞定。不分享出来真是对不起party了。(party:我靠,关我嘛事啊?我跟你很熟么?)来看一个实例,杭电1232畅通工程首先在地图上给你若干个城镇,这些城镇都可以看作点,然后告诉你哪些对城镇之间是有道路直接相连的。最后要解决的是整幅图的连通性问题。比如随意给你两个点
2015-08-12 23:48:09
520
转载 哈夫曼树详解
回答问题之前先来看看什么是压缩。当你有天走在路上,碰见熟人对你说:“吃了?”你一定知道他是在打招呼,既不是要请客也不是让你“没吃赶紧回家吃去”。这一句简单的“吃了”是礼貌和问好的体现,也是一种信息的压缩。笼统地说,把一系列已有信息通过一定方法处理,使得其长度缩短,并且信息含量基本或者完全不变,就称之为压缩。 计算机上的压缩过程我们都知道,计算机采用的是2进制系统
2015-08-12 23:31:26
2066
转载 句子逆序(循环两次)
描述: 将一个英文语句以单词为单位逆序排放。例如“I am a boy”,逆序排放后为“boy a am I”所有单词之间用一个空格隔开,语句中除了英文字母外,不再包含其他字符接口说明/** * 反转句子 * * @param sentence 原句子 * @return 反转后的句子 */public String reverse(String sentence);知识点
2015-08-12 02:08:45
816
转载 输入一个int型数据,计算出该int型数据在内存中存储时1的个数。
问题描述任意给定一个32位无符号整数n,求n的二进制表示中1的个数,比如n = 5(0101)时,返回2,n = 15(1111)时,返回4这也是一道比较经典的题目了,相信不少人面试的时候可能遇到过这道题吧,下面介绍了几种方法来实现这道题,相信很多人可能见过下面的算法,但我相信很少有人见到本文中所有的算法。如果您上头上有更好的算法,或者本文没有提到的算法,请不要吝惜您的代码,分享的时候,也
2015-08-12 01:10:34
7328
转载 Catalan数——卡特兰数
Catalan数——卡特兰数 今天阿里淘宝笔试中碰到两道组合数学题,感觉非常亲切,但是笔试中失踪推导不出来后来查了下,原来是Catalan数。悲剧啊,现在整理一下一、Catalan数的定义令h(1)=1,Catalan数满足递归式:h(n) = h(1)*h(n-1) + h(2)*h(n-2) + ... + h(n-1)h(1),n>=2该递推关系的解为:h(n) = C(2n
2015-08-11 09:57:11
773
转载 window下键盘监控api函数详解
在实际应用中,键盘监控是一种很常见的技术,它包括按键的记录、按键的过滤、按键的修改(映射)等。比方说,我们想统计用户的击键情况,这个就是按键的记录;我们想屏蔽某些系统键(例如Alt键、Win键),这个是按键的过滤;我们想改变按键的值,例如按下A,出来的是Z,在例如按下A,出来按键的组合SDFG等(貌似这个在游戏中比较多,有些游戏的大绝招都比较难按,用这个一劳永逸),这个是按键的修改。 键
2015-08-07 11:19:02
6952
转载 HWOJ题目
1.HWOJ计算字符串最后一个单词长度题目:计算字符串最后一个单词的长度,单词以空格隔开输入样例:hello world输出样例:5题目分析:①由于题目中输入的字符串有空格,所以我们这里不能用scanf输入,我们采用gets(s)②我们要检测最后一个单词的长度,也就是可以说明我们可以从后面往前面循环找出第一个空格位置,之后直接求差值我们就可以知道这个字符串最后一
2015-08-07 01:33:19
1153
转载 javascript 记录按键动作和按键时间
主要分四个部分第一部分:浏览器的按键事件第二部分:兼容浏览器第三部分:代码实现和优化第四部分:总结 第一部分:浏览器的按键事件 用js实现键盘记录,要关注浏览器的三种按键事件类型,即keydown,keypress和keyup,它们分别对应onkeydown、 onkeypress和onkeyup这三个事件句柄。一个典型的按键会产生所有这三种事件,依次是keydo
2015-08-06 18:17:28
6633
转载 sizeof和strlen的区别
一、sizeof sizeof(...)是运算符,而不是一个函数。 一个简单的例子:int a;cout 在头文件中typedef为unsigned int,其值在编译时即计算好了,参数可以是数组、指针、类型、对象、函数等。 它的功能是:获得保证能容纳实现所建立的最大对象的字节大小。 由于在编译时计算,因此sizeof不能用来返回动态分配的
2015-07-28 00:54:56
378
转载 Nodejs总结
什么是NodeJS Node.js采用模块化结构,按照CommonJS规范定义和使用模块。模块与文件是一一对应关系,即加载一个模块,实际上就是加载对应的一个模块文件。 JS是脚本语言,脚本语言都需要一个解析器才能运行。对于写在HTML页面里的JS,浏览器充当了解析器的角色。而对于需要独立运行的JS,NodeJS就是一个解析器。每一种解析器都是一个运行环境,不但允许JS定
2015-07-26 00:19:24
1181
转载 JVM学习笔记
从Java平台的逻辑结构上来看,我们可以从下图来了解JVM:从上图能清晰看到Java平台包含的各个逻辑模块,也能了解到JDK与JRE的区别对于JVM自身的物理结构,我们可以从下图鸟瞰一下:对于JVM的学习,在我看来这么几个部分最重要:Java代码编译和执行的整个过程JVM内存管理及垃圾回收机制下面将这两个部分进行详细学习
2015-07-24 10:49:10
246
转载 java中String s="abc"及String s=new String("abc")详解
java中String s="abc"及String s=new String("abc")详解1. 栈(stack)与堆(heap)都是Java用来在Ram中存放数据的地方。与C++不同,Java自动管理栈和堆,程序员不能直接地设置栈或堆。 2. 栈的优势是,存取速度比堆要快,仅次于直接位于CPU中的寄存器。但缺点是,存在栈中的数据大小与生存期必须是确定的,缺乏灵活性。另
2015-07-24 10:33:57
908
转载 值传递,指针传递 ,引用传递的总结
C++中值传递、指针传递、引用传递的总结 收藏 1. 值传递:形参是实参的拷贝,改变形参的值并不会影响外部实参的值。从被调用函数的角度来说,值传递是单向的(实参->形参),参数的值只能传入,不能传出。当函数内部需要修改参数,并且不希望这个改变影响调用者时,采用值传递。void swap(int a,int b){ int temp; temp=a;
2015-07-24 10:08:42
1332
原创 nodejs学习笔记一
Windows平台下的node.js安装直接去nodejs的官网http://nodejs.org/上下载nodejs安装程序,双击安装就可以了测试安装是否成功:在命令行输入 node –v 应该可以查看到当前安装的nodejs版本号简单的例子写一段简短的代码,保存为helloworld.js,大致看下nodejs是怎么用的。如下:该代码主要
2015-07-24 00:30:34
634
转载 前端知识点大全
前端开发面试知识点大纲:HTML&CSS: 对Web标准的理解、浏览器内核差异、兼容性、hack、CSS基本功:布局、盒子模型、选择器优先级及使用、HTML5、CSS3、移动端适应。JavaScript: 数据类型、面向对象、继承、闭包、插件、作用域、跨域、原型链、模块化、自定义事件、内存泄漏、事件机制、异步装载回调、模板引擎、Nodejs、JSON、ajax等。其他: HTT
2015-07-23 16:01:07
15502
1
转载 (int&)a与*(int*)&a
先看一段程序123456789101112131415161718192021222324252627#include "stdafx.
2015-07-23 11:26:04
1663
1
原创 sql行列互换
有一个SQL题在面试中出现的概率极高,最近有学生出去面试仍然会遇到这样的题目,在这里跟大家分享一下。题目:数据库中有一张如下所示的表,表名为sales。年季度销售量1991111199121219913131991414
2015-07-19 10:56:29
532
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人