
算法练习
水滴石穿的石头
这个作者很懒,什么都没留下…
展开
-
while(cin.eof)出错 poj
zoj遇到c++如何判定输入流结尾的问题,一不小心就超时了楼下的代码可以通过zoj#includeusing namespace std;int main(){ int a,b; while(true){ cin>>a>>b; if(cin.eof()){//换成fail(),或是good()也可以通过 break; } int sum=a+b; cout<<sum<原创 2016-03-01 09:27:46 · 591 阅读 · 0 评论 -
华为oj 购物单
这两天断断续续敲完这个(放假的时候比较懒),一次成功有点小激动(●'◡'●) 不过貌似从第一次打开开始计时。。。。。#include#includeusing namespace std;class node {//代表主件的类public: int value; int p;//重要度 int n;//附件个数 int q;//附件指向的主件编号 node *link;原创 2016-02-16 19:59:29 · 1356 阅读 · 0 评论 -
简单判断某个数是不是2或3的n次幂
bool isPowerOfTwo(int n) { return (n>0)&&(1073741824%n==0); }int类型下判断 只要求大于0 以及 被2的30次方(int类型中2的最大次方)整除判断是否是三的次方也是一样 之前没这么想过 今天搜了到这种答案 没想到可以过测试用例 话说这是个蛮简单的数学问题 因为2跟3都是素数 4就不可以套原创 2016-05-18 20:05:52 · 430 阅读 · 0 评论 -
digital root
The digital root (also repeated digital sum) of a non-negative integer is the (single digit) value obtained by an iterative process of summing digits, on each iteration using the result from the p原创 2016-06-01 11:43:46 · 343 阅读 · 0 评论 -
二叉搜索树的非递归遍历之先序
写下一些idea,感觉练习算法的正确步骤就像做数学练习题。产生idea->细化idea->画出状态图->代码 遍历二叉树需要栈这种数据结构,递归函数就是这样的,我们想要非递归遍历二叉树需要自定义栈的操作 第一步 访问current节点 第二 步 如果current->left==NULL 跳转第三步,否 current节点入栈,并且更新current节点为current->left 也即 cu原创 2016-07-18 15:55:40 · 324 阅读 · 0 评论 -
gray code规律
参考 http://blog.youkuaiyun.com/beiyeqingteng/article/details/7044471在一组数的编码中,若任意两个相邻的代码只有一位二进制数不同,则称这种编码为格雷码(Gray Code),另外由于最大数与最小数之间也仅一位数不同,即“首尾相连”,因此又称循环码或反射码。 gray code产生步骤: 假设原始的值从0开始,格雷码产生的规律是:第一步,改变最右原创 2016-08-11 15:02:52 · 559 阅读 · 0 评论