C/C++
文章平均质量分 74
ChenKode
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Read Phone Number - Round A China New Grad Test 2014 - 循环控制
Read Phone Number 题意:主要考察对循环的控制。难度:2星。 题目不算复杂,解题思路比较清晰,但在关键的几行代码上,需要仔细对循环的临界值进行仔细斟酌。 刚开始写的时候,并没有考虑全面,需要用测试用例慢慢调试。 粗心少写一行输出,导致在大数据用例处出现错误。 题解代码: /* * Read Phone Number - Round A China New Grad T原创 2014-03-13 22:03:27 · 746 阅读 · 0 评论 -
KMP - 字符串查找算法
#include using namespace std; int main() { int KMPMatch(char* p, char* t); char p[10] = "abc"; char t[20] = "ab12abc"; cout << KMPMatch(p, t) << endl; system("pause"); return 0; } /* KMP原创 2014-08-14 10:08:03 · 634 阅读 · 0 评论 -
排序算法之堆排序
排序算法之堆排序原创 2014-06-07 15:29:36 · 590 阅读 · 0 评论 -
排序算法之快速排序
快速排序 快速排序是由东尼·霍尔所发展的一种排序算法。在平均状况下,排序 n 个项目要Ο(n log n)次比较。在最坏状况下则需要Ο(n2)次比较,但这种状况并不常见。事实上,快速排序通常明显比其他Ο(n log n) 算法更快,因为它的内部循环(inner loop)可以在大部分的架构上很有效率地被实现出来。——维基百科.快速排序 个人理解的快速排序算法:欲对序列data[]作快速原创 2014-02-28 16:51:15 · 595 阅读 · 0 评论 -
2048 Console Version - C++实现
2048 Console Version原创 2014-06-05 15:02:20 · 1314 阅读 · 0 评论 -
POJ 1008 Maya Calendar
POJ 1008 Maya Calendar原创 2014-05-09 15:39:24 · 752 阅读 · 0 评论 -
搜索算法之二分查找法
二分查找法 /* * 二分查找法 */ int MyBiSearch(int data[], int low, int high, int key) { /* 二分查找法 */ /* 返回升序集合data[low, high)中小于等于key的最大元素的序号 */ /* key < data[low]时,返回low - 1 */ /* data[high - 1] < key时,返回h原创 2014-03-02 15:19:01 · 868 阅读 · 0 评论 -
排序算法之冒泡排序 - 优化版
冒泡排序 - 优化版 优化之后最差时间复杂度仍是O(n^2),但最好只需O(n)。 /* * 冒泡排序 - 优化版 */ void BubbleSort(int data[], int low, int high) { /* 优化版冒泡排序data[low..high) */ for (int i = low; i < high - 1; i++) { /* lastSwap记录最后一原创 2014-03-15 16:27:56 · 716 阅读 · 0 评论 -
POJ 1002 487-3279 - 字符串转换为数组
/* * POJ 1002 487-3279 * 将字符转化为数字,并排序统计重复数; * * 字符数转化值得注意: * string map("2223334445556667#77888999#"); * number = number *10 + (map[input[i] - 'A'] - '0'); * 电话号码的输入字符数组开大点,开40过不了! * 格式化输出:原创 2014-02-24 17:00:29 · 855 阅读 · 0 评论 -
POJ 1001 Exponentiation - 高精度高位数运算
/* * POJ 1001 Exponentiation * 求R^n, 其中0.0 < R < 99.999, 0 < n <= 25; * * 1) 高精度高位数计算; * 2) 将字符串转换为数组,按位计算; * 3) 采用连乘求幂 或 将次数转换为二进制数以减少相乘次数; * */#include using namespace std;#define MAX_NUMBER_LENGTH原创 2014-02-24 11:20:34 · 948 阅读 · 0 评论 -
Captain Hammer - Practice Round China New Grad Test 2014 - 精度控制
Captain Hammer 题意:简单的应用抛物线相关公式。难度:1星。 从文件中读取数据之后,应用简单的物理数学知识,可以得到结果,再将即如果输出到文件。 需要注意: 1)C++的文件操作; 2)输出文件数据的小数保证10^-6位的绝对正确,则输出到10^-7位,PI的精度也需要很高: #define PI 3.14159265359 outputFile.setf(ios::f原创 2014-03-09 21:39:00 · 925 阅读 · 0 评论 -
POJ 1006 Biorhythms - 数学逻辑
POJ 1006 Biorhythms 题意:三个正整数的最小公约数相关。难度:1星。 根据相关逻辑关系直接计算,也不算复杂。注意,在current day就是next triple peak day时,答案应为一个周期(21252);next triple peak day有可能小于current day,此时答案应在下一个周期内(即再加21252)。 讨论区中有同学用“中国剩余定理”解决原创 2014-02-26 16:54:03 · 706 阅读 · 0 评论 -
POJ 1003 Hangover - 搜索算法 - 二分查找法
POJ 1003 Hangover 题目本意是,寻找序列中不小于给定某数的最小数的序号。相当容易的题目。 理清题意,我的直接反应就是用搜索算法。于是就准备写二分查找法的代码。写的过程中发现自己对二分查找法掌握的不扎实:首先是算法的基本框架不熟悉,再就是把握不好算法的出口。写完提交AC后,在讨论区中发现直接算看起来还简单一些,那就跟这写一下吧。 温习一下二分查找法:原创 2014-02-24 22:11:52 · 1464 阅读 · 0 评论 -
POJ 1004 Financial Management - 四舍五入 - 强制类型转换
POJ 1004 Financial Management 题目本意是:计算十二个精确到百分位的数的平均值,并将其千分位四舍五入。容易的题目。 讨论区中有同学认为,题目要求输出精确到小数点后两位的小数(如:“$152.10”)。但我认为只需将其千分位四舍五入就可以了,并不一定要输出到百分位(如:输出“$152.1”)。确实我的代码也AC了。 讨论区中有说到,“%.2lf本身原来已经四舍五入了原创 2014-02-25 10:48:21 · 994 阅读 · 0 评论 -
POJ 1005 I Think I Need a Houseboat - 强制类型转换
POJ 1005 I Think I Need a Houseboat 题目本意是:计算半圆面积序列对应的半径。难度:1星。 /* * POJ 1005 I Think I Need a Houseboat * 简单的计算题,只需注意端点值; * * 用了强制类型转换; * */ #include using namespace std; #define PI 3.1415原创 2014-02-25 19:41:33 · 743 阅读 · 0 评论 -
POJ 1007 DNA Sorting - 字符串比较 - 排序
POJ 1007 DNA Sorting 题意:难度:1星。 /* * POJ 1007 DNA Sorting * 字符串比较;逆序数排序; * * 将序号与对应逆序数绑定: * inversion[i] = inversion[i] * 100 + i; * 排序; * */ #include using namespace std; int main() {原创 2014-02-27 11:26:12 · 859 阅读 · 0 评论 -
Moist - Practice Round China New Grad Test 2014 - 插入排序
Moist 题意:简单的字符串处理与插入排序。难度:1星。 从文件读取字符串数据之后,模拟插入排序过程,计算插入次数,再将计数输出到文件。 需要注意: 1)C++的文件操作; 2)从文件读取时,在读取了int型数据之后,如果要getline(),则需要在两句中间加上get()以吸收int数据后的换行符; 题解代码: /* * Moist - Practice Round China原创 2014-03-10 11:20:21 · 951 阅读 · 0 评论 -
Bad Horse - Practice Round China New Grad Test 2014 - BFS - 二分图判定
Bad Horse 题意: 难度:3星 二分图的问题。没做对,待会再写。原创 2014-03-09 21:19:24 · 992 阅读 · 0 评论 -
排序算法之归并排序
归并排序 /* * 归并排序 */ void MergeSort(int data[], int low, int high) { /* 归并排序data[low, high) */ /* 将序列一分为二,分别归并排序,再合并排序 */ /* 函数出口为,子序列只含一个元素 */ if (high - low < 2) {/* 单元素区间 */ return; }原创 2014-02-28 21:13:52 · 743 阅读 · 0 评论
分享