摘要:
/*统计出现颜色最多的气球并输出颜色,在题目中并没有给出颜色有多少种,所以可以考虑用vector来做,但是开个数组1000也是可以过的*/#include #include using namespace std;int main(){ int n, i, j; string color[1001]... 阅读全文
摘要:
#include using namespace std;int main(){ int n, m, i, j; int a[100001]; cin>>n; int line = 1; while (line >m; for (i = 0; i >a[i]; } int max = a[0]... 阅读全文
摘要:
#include #include #include #include using namespace std;int main(){ int a[1002]; int b[1002]; int n; char aa[1002]; char bb[1002]; cin>>n; int line = ... 阅读全文
摘要:
#include using namespace std;int main(){ int n; while (cin>>n) { if (n%2) //陷阱在于n*(n+1)会导... 阅读全文
摘要:
知道二叉树的前序遍历和中序遍历,可以唯一确定一颗二叉树,在实现的细节是判断当前结点是否 存在左子树和右子树,比如下面一棵二叉树包含了所有情况前序遍历为:A BCD EFGH中序遍历为:CDB A FEHG先是前序遍历的第一个结点为根节点A, BCD为左子树,EFGH为右子树,依次类推分解左右子树。但怎么判断是否有左子树或者右子树呢,第一种情况,必有左子树,此时又可分为是否有右子树1.有右子树 以结点A为例子 前序遍历为:A BCD EFGH 中序遍历为:CDB A FEHG 先得找到中序遍历中A的位置,然后与前序遍历的位置比较,如果不重叠就说明A必有左子树,因为在中序遍历中,出现在自己面前的必 阅读全文
摘要:
前一段时间去实习时,老师为了分配开发板的问题,要我们写个O(n)随机数生成程序,当时没有想到,突然今天灵光一闪想到了一个算法,大家看看有什么问题思路:在1到18个数中,生成8个不重复的数,,先用数组分别存1-18,然后每生成一个数(当下标使用),打印数组元素,再和数组的18-i的下标交换(’最后一个元素‘,因为每生成一个数,下标最大值减一),下面看程序 1 #include "stdafx.h" 2 #include <stdio.h> 3 #include <string.h> 4 #include <time.h> 5 #includ 阅读全文
摘要:
看了剑指offer一书的一个题目,然后自己写了的代码,有迭代和递归两种方式,代码如下: 1 #include <stdio.h> 2 3 int add(int a, int b) //迭代 4 { 5 int c; 6 7 c = (a&b)<<1; //保存进位 8 a ^= b; //相加,不考虑进位,类似与半加器原理 9 10 while(c) //两数相加直到进位为0 11 { 12 b = c; 1... 阅读全文
摘要:
最近看了一些书籍,总结一下程序员容易忽略的编程细节吧,对面试还是考试有帮助的,不断更新中。1. sizeof 想必大家都知道这个关键字吧,不是函数哦,凡是在c\c++编辑器了有和其它关键字有相同颜色的单词都是关键字,这是一个计算类型或者变量在内存中的占位大小,当是类型时如sizeof(int),就是int类型占内存的大小是4字节,这里要加括号哦,接着如果是变量,如果有int a = 1, 那么你也可以不用括号, 比如 sizeof a,注意中间有空格总结一下,跟在sizeof后面的是类型时一定要括号,还有是多个操作数时表达式时也要加,当是一个变量时就可以不加。但是为了少犯错误,一般都加上吧,绝 阅读全文
摘要:
gcc -I -L -l区别 我们用gcc编译程序时,可能会用到“-I”(大写i),“-L”(大写l),“-l”(小写l)等参数,下面做个记录:例:gcc -o hello hello.c -I /home/hello/include -L /home/hello/lib -lworld上面这句表示在编译hello.c时:-I /home/hello/include表示将/home/hello/include目录作为第一个寻找头文件的目录,寻找的顺序是:/home/hello/include-->/usr/include-->/usr/local/include-L /home/h 阅读全文
摘要:
有一种游戏叫做24点,首先是拿一副牌,每次抽出4张,然后利用+,-,*,/四种运算,每张牌只能用一次,而且像10/3这种有余数的运算不能算,结果能算出24点吗?(说明:J到K都是算10点,不论花色的)由于无聊,所以在火车上想起了这种游戏,当我们想不出来时,能不能写个程序来解决呢?这是当时决定写这个程序的原因。算法:暴力法,想下四张牌放在台面上,然后往牌中间填三个运算符,枚举四张牌和三个运算符的可能组合,牌的组合有4*3*2*1种,运算符有4*4*4中,然后总的枚举次数是1536种要注意的细节是算符优先级问题,其实只要考虑两种情况就行,首先是因为是枚举牌的组合,所以一是不用考虑优先级,依次由由右 阅读全文