自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

王小东大将军的博客

读书学习笔记+温故知新

  • 博客(10)
  • 资源 (3)
  • 收藏
  • 关注

原创 2.7 最大公约数问题

写一个程序,求两个正整数的最大公约数。如果两个正整数都很大,有什么简单算法?例如,给定两个数 1100100210001,,10200021,求出其最大公约数。分析辗转相除法的原理,假设用f(x,y)表示x,y的最大公约数,取k=x/y, b=x%y,则 x=ky + b,如果一个数能够同时整除x和y,则必能同时整除b和y;而能够同时整除b和y的数也必能同时整除x和y,即x和y

2017-11-11 16:14:28 314

原创 2.6 精确表达浮点数

计算机中,使用float或double来存储小数是不能得到精确值的。如果希望得到精确结果,最好用分数形式来表示小数。有限小数或无限循环小数都可以转化为分数。如: 0.9=9/10; 0.333(3)=1/3 (括号中的数字表示循环节)当然一个小数可以用好几种分数形式来表示。如: 0.333(3)=1/3=3/9给定一个有限小数或无限循环小数,能否以分母最小的分数形式来返回这个小数?如果

2017-11-11 14:53:28 420

原创 2.5 寻找最大的K个数

解法一:假设元素的数量不大,用快排或堆排序都是不错选择,平均时间复杂度都是O(N*log N)。然后取出前K个,O(K)。总时间复杂度O(N*log N)+ O(K)=O(N* log N)。当K=1,上述算法也是O(N* log N)的复杂度,而显然我们可以通过N-1次的比较和交换得到结果。上述算法对整个数组都进行了排序,而原题目只要求最大的K个数,并不需要前K个数有序,也不需要前K个数

2017-11-10 21:46:31 251

原创 条款01~02

01:视C++为一个语言联邦C++是个多重范型编程语言multiparadigm programming language,一个同时支持过程形式procedural, 面向对象形式 object-oriented,函数形式 functional,泛型形式generic,元编程形式metaprogramming的语言。简单方法就是将C++视为一个由相关语言组成的联邦而非单一语言。在其某个次语

2017-11-10 21:39:23 251

原创 0 导读

学习程序设计语言是一回事,学习如何以某种语言设计并实现高效程序则是另一回事。《Effective C++》使你的软件易理解、易维护、可移植、可扩充、高效、并且有着你所期望的行为。作者的建议分为两类:1)一般性的设计策略;2)带有具体细节的特定语言特性。本书是一份55个特定建议的集合,谈论如何强化你的程序和设计。每个条款有相当程度的独立性,但大多数也参考其他条款。

2017-11-10 14:53:45 197

原创 2.4 1的个数

给一个十进制正整数N,写下从1开始,到N的所有整数,然后数一下其中出现的所有“1”的个数。例如:N=2,写下1,2.这样只出现了1个“1”。N=12,写下1,2,3,4,5,6,7,8,9,10,11,12.这样,1的个数是5.问题:(1)写一个函数f(N),返回1到N之间出现的“1”的个数,比如f(12)=5。(2)满足条件f(N)=N的最大的N是多少?解法一:ULO

2017-11-06 16:06:29 245

原创 2.3 寻找发帖“水王”

水王发帖超过数目超过帖子总数的一半,你有一个当前论坛上所有帖子的列表,其中帖子作者ID也在表中,快速找到这个水王、一、对所以的ID排序,然后扫描一遍排好序的ID列表,统计各个ID出现的次数。如果某个ID出现的次数超过总数的一半,那么就输出这个ID。这个算法的时间复杂度为O(N*log N +N)。如果ID列表已经是有序的,还需要扫描一遍整个列表来统计各个ID出现的次数吗?

2017-11-06 15:13:31 262

原创 2.2 不要被阶乘吓跑

1 给定一个整数N,那么N的阶乘N!末尾有多少个0呢?例如:N=10,N!=3628800,N!的末尾有两个0。分析:从”哪些数相乘能得到10“这个角度来考虑,问题变得简单。如果N!= K * 10^M,且K不能被10整除,那么N!末尾有M个0.再考虑对N!进行质因数分解,N!=2^X * 3^Y * 5^Z…,由于10 = 2*5,所以M只跟X和Z相关,每一对2和5相乘可以得到一个1

2017-11-06 12:33:02 211

原创 2.1 求二进制数中1的个数

对于一个字节(8 bit)的无符号整形变量,求其二进制表示中“1”的个数,要求算法的执行效率尽可能高、解法一:通过整形数据除法的特点,通过相除和判断余数的值来分析。int count(BYTE v) { int num=0; while(v) { if(v % 2 ==1) { num++; } v=v/2; } return num;}解法

2017-11-06 09:54:54 266

转载 STL---heap概述,make_heap,sort_heap,pop_heap,push_heap

heap并不属于STL容器组件,它分为 max heap 和min heap,在缺省情况下,max-heap是优先队列(priority queue)的底层实现机制。而这个实现机制中的max-heap实际上是以一个vector表现的完全二叉树(complete binary tree)。二叉堆(binary heap)就是i一种完全二叉树。也即是。整棵二叉树除了最底层的叶节点以外,

2017-11-01 10:05:40 242

MySql必知必会

MySql必知必会·MySql必知必会MySql必知必会MySql必知必会MySql必知必会MySql必知必会MySql必知必会MySql必知必会MySql必知必会MySql必知必会

2017-09-04

快速上手MySql && MySql GUI工具 SQLyog Community

快速上手MySql

2017-06-15

空空如也

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

TA关注的人

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