随笔分类 - 算法
摘要:伪随机数int rand(void)函数通常用来当做随机函数来使用,殊不知这其实是一个伪随机函数。按照某种顺序生成的随机函数,这是什么意思呢?我们来测试一下,第一次: cout << "first:" << endl; cout << rand() <<...
阅读全文
摘要:题目: 输入:一个字符串(由字母空格组成),一个长度 输出:将所有单词前后位置颠倒,大小写颠倒例如: 输入: This is a sample,16输出: SAMPLE A IS tHISpublic String trans(String s,int n) { ...
阅读全文
摘要:求最小的两个数相加为sum//求最小的两个数相加为sum public ArrayList FindNumbersWithSum(int [] array,int sum) { List list = new ArrayList(); ...
阅读全文
摘要:今天在某个公司的笔试题目上做到了一个题目:任意给定两个正半轴坐标点,求最短路径。因为短时间很难写出动态规划,而且自己对动态规划的理解也不够深刻。所以能想到的就是回溯。首先:给定起点和终点,求最短路径,一共有八个方向解题参考就是 回溯算法(马踏棋盘)如果每次都在原有矩阵...
阅读全文
摘要:今天我在玩一款逃离大厦的解密游戏。在跨越了重重障碍来到了第八十关。这一关很有意思 每次点击都会直接冲到底,要求填满所有空白的地方。 本来很容易,但是很不幸,一旦点击了就不能修改,楼主于是想到了马踏棋盘,终于可以学以致用了于是毫不犹豫 上代码#include #inc...
阅读全文
摘要:二分查找 二分法查找 1 #include 2 #include 3 #define N 100 4 int compare(int middle,int key) 5 { 6 if(0 > middle -key){ 7 retu...
阅读全文
摘要:作者:秒针的声音 时间:2015-3-28问题描述 任何一个正整数都可以用2进制表示,例如:137的2进制表示为10001001。 将这种2进制表示写成2的次幂的和的形式,令次幂高的排在前面,可得到如下表达式:137=2^7+2^3+2^0 现在约定幂次...
阅读全文
摘要:问题描述如果一个自然数N的K进制表示中任意的相邻的两位都不是相邻的数字,那么我们就说这个数是K好数。求L位K进制数中K好数的数目。例如K = 4,L = 2的时候,所有K好数为11、13、20、22、30、31、33 共7个。由于这个数目很大,请你输出它对100000...
阅读全文
摘要:/*堆排序数组实现*/#include #include #define N 8#define M N+1/*队列*/ int rear=N,front=(N+1)/2;//此处有N+1个已入队 void change(int *a,int *b){ int t...
阅读全文
摘要:GCC编译通过:#include #include #define N 10#define MAX 100typedef struct node{ int data; struct node *left; struct node *right;}BT...
阅读全文
摘要:按层建树是按照给定的数据数组来建立完全二叉树的过程。其中涉及到的基础知识有结构体的创建重命名以及使用、链表的创建和数组遍历。 实现代码如下: GCC编译通过:#include #include #define N 10#define MAX 100typedef ...
阅读全文
摘要:区间K大数问题描述给定一个序列,每次询问序列中第l个数到第r个数中第K大的数是哪个。输入格式第一行包含一个数n,表示序列长度。第二行包含n个正整数,表示给定的序列。第三个包含一个正整数m,表示询问个数。接下来m行,每行三个数l,r,K,表示询问序列从左往右第l个数到第...
阅读全文
摘要:今天在做蓝桥杯题目的时候看到一题十六进制转八进制的题目,题目如下:问题描述 给定n个十六进制正整数,输出它们对应的八进制数。输入格式 输入的第一行为一个正整数n (1#include #include #define N 100001char str[N];vo...
阅读全文
摘要:/* Theme:八皇后(非递归) Coder:秒针的声音 Time:2015.1.13 */ #include using namespace std; #include #include int No=0; void Prin(int *q,int ...
阅读全文
摘要:近期学习了回溯算法于是自己写了马踏棋盘的递归以及非递归方式的代码:/* Theme:马踏棋盘 回溯算法 Coder:秒针的声音 Time:2015.1.11 */#include #include #include #define M 8...
阅读全文
摘要:回溯算法的基本框架为 函数名(int cnt){ for() { 赋值; if(==){ }else{ 函数名(cnt+1); ...
阅读全文
摘要:/* theme:八皇后 回溯算法 coder:瞿鹏志 time:2015.1.11 */#include using namespace std;#define N 15#define M 8class Eight_Queen{ private: i...
阅读全文
摘要:/* 素数的筛选找法 coder:qpz time:2014-12-15*/ #include #include void Init(char *a,int n){ inti; for(i=0;i<n;i++){ ...
阅读全文
摘要:/*1/1 + 1/2 + 1/3+ 1/4 + ... 在数学上称为调和级数。 它是发散的,也就是说,只要加上足够多的项,就可以得到任意大的数字。 但是,它发散的很慢: 前1项和达到 1.0前4项和才超过 2.0前83项的和才超过 5.0 那么,请你计算一下,要加多...
阅读全文
摘要:/*字典搜索问题描述:给定一个字典,有若干个单词,每个单词不超过6个字母,以****作为输入结束 要求:输入一堆乱序字母作为输入单词,比较字典中的字母,如果输入的单词经过排列组合可以与字典中的单词匹配,则输出(如果和多个单词匹配,从小到大输出)如果字典单词无匹配,输出...
阅读全文