剑指offer
文章平均质量分 53
普通网友
这个作者很懒,什么都没留下…
展开
-
剑指offer 面试题18-树的子结构
原来以为只要一个函数就够了,发现思路错了。写出下列傻逼错误函数。出错情况是SUbhasSubTree不可以不作为整体判断的情况。bool match;bool HasSubtree(BinaryTreeNode* pRoot1, BinaryTreeNode* pRoot2){ match=false; return SubHasSubtree(pRoot1,pRo原创 2013-09-09 14:20:43 · 262 阅读 · 0 评论 -
把数组排成最小的数
剑指offer这本书中程序实现若干是基于C版本的。比如这道题目:把数组排成最小的数使用qsort,其中qsort的参数如下void qsort (void* base, size_t num, size_t size, int (*compar)(const void*,const void*));一般来说,现在我都会用sort,然后我传了一个函数,定义原创 2013-10-06 15:26:33 · 202 阅读 · 0 评论 -
最小的k个数
输入n个整数,找到最小的k个数。划分原来没我想象的那么简单,因为需要注意临界情况。int partitionHelp(vector &A,int l,int r){ int i=l-1; int x=A[r]; for(int j=l;j<r;++j) { if(A[j]<x) { ++i; swap(A[i],A[j]); }原创 2013-10-06 13:59:51 · 216 阅读 · 0 评论 -
题目1366:栈的压入、弹出序列
九度提醒time exceed囧,不知为啥,对照书中觉得是没错的。#include #include #include #include #include using namespace std;bool fitStack(vector &v1,vector &v2){ stack s1; int i1=0,i2=0; for(;i1<v1.siz原创 2013-09-09 12:17:39 · 233 阅读 · 0 评论 -
剑指offer-面试题36 数组中的逆序对
原来以为看懂书中解题思路我就能够把这个变成程序,然后发现我真的不行。就算我知道思路变成程序,还是有算法->程序的思路转换。难道我真的不适合当一个码农,那我到底应该何去何从?随着越来越多找工作的信息,越来越迷茫我应该何去何从。好想就找个角落宅着,谁都不要管我,就让我静静看书,没有人鸟我==什么事情都不想干,尤其不相干老板叫我测试的东西==风格化笔画绘制有什么意思啊!!但是原创 2013-09-09 16:15:51 · 364 阅读 · 0 评论 -
丑数
终于把leetcode刷完了,编码能力还是不行,所以还是要做题,但是不想继续做一遍,所以选择了九度。九度的编程环境和leetcode完全没有办法相提并论啊,不能立刻实时显示你那行做了,哪个输入你错了,显示错误界面也不是在同一个。但没办法,有就不错,将就着吧。剑指offer中已经看过书上是怎么解决这个问题的,但还是应该动手写一下。思路都有了,但是不知道如何判断输入结束否,囧,这种问题原创 2013-09-05 17:33:18 · 209 阅读 · 0 评论 -
九度题目-题目1507:不用加减乘除做加法
题目链接http://ac.jobdu.com/problem.php?pid=1507第一眼看上去就应该用小学的加法思路解决问题,但是要变成代码以为会有一些复杂度,结果发现!原来那么几行代码就可以搞定的!!思路就是看是否有进位,不过由于题目本身没考虑负数,所以简单了。也没有考虑如果整数很大的情况,所以变简单了。其实错误情况又是通过vs集成环境增加断点才发现的==原创 2013-09-05 18:53:43 · 280 阅读 · 0 评论 -
九度-题目1506:求1+2+3+...+n
http://ac.jobdu.com/problem.php?pid=1506虽然看过书中代码,记录如何在不用题目所说的这些条件下求和,但是果断没有想起来啊!!作者真聪明!这都能想到。一开始隐隐约约记着好像是用类做,但是还是没有想到怎么用类就可以求和呢。。膜拜作者。#include using namespace std;class Temp{publi转载 2013-09-05 19:22:23 · 384 阅读 · 1 评论 -
九度-题目1356:孩子们的游戏(圆圈中最后剩下的数)
用递归不知道哪里错了,样本输入输出都是对的啊,但是一个测试用例没过后来参考网上非递归,过了。这个代码真的很简单啊!主要看你思路正确就很好解决。递归1/5个例子没过#include using namespace std;int main(){ int n,m;cin>>n; while(n!=0) { cin>>m; int s=0; for(i转载 2013-09-05 20:03:47 · 250 阅读 · 0 评论 -
九度-题目1355:扑克牌顺子
先对数据进行排序,然后看几个0,看看其余有几个间隔。对于顺子就判断为不行需要注意#include #include #include #include #include using namespace std;bool succeed(vector &nums){ int king_nums=0; sort(nums.begin(),nums.end());原创 2013-09-05 20:34:20 · 224 阅读 · 0 评论 -
九度-题目1360:乐透之猜数游戏
这道题目取2位小数,但是在排列时候不应该就根据2位小数就输出啊!当然以下代码没有通过测试,但是我觉得主要思路掌握了就ok。其实也懒得做怎么样寻找最大3个数,用了偷懒的方法。#include #include #include #include #include #includeusing namespace std;void getMaxThreeProp(in原创 2013-09-05 21:57:05 · 308 阅读 · 0 评论 -
树中两个结点的最低公共祖先
不知道为什么5个测试用例我错了4个我觉得我的思路对的啊,而且作者给出的源程序的例子跑了一遍我也是输出正确结果只想说,坑爹!九度不给出测试用例我怎么知道错在哪里!!所以还是大爱leetcode!#include #include #include #include #includeusing namespace std;struct TreeNode{ Tre原创 2013-09-05 18:19:30 · 213 阅读 · 0 评论 -
题目1513:二进制中1的个数
一般的移位想法大家都能想到,但是整数和减1的结果进行AND,还是没有想到。得到新数字与原来整数相比,只有最后一个1变成0.int numOneInBinary(int number){ int numOne=0; while(number!=0) { number=number & (number-1); numOne++; } return numOne;}转载 2013-09-09 10:48:52 · 258 阅读 · 0 评论 -
剑指offer-面试题32 从1到n整数中1出现的次数
原来以为我会做,一直没有代码实现,结果真的开始做了发现我不会做!==作者思路还是挺独特的!int pow10(int l){ int k=1; while(l>0) { k*=10; l--; } return k;}int getNumberOf1(const char *str){ if(str[0]'9' || str[0]=='\0')retur原创 2013-09-09 15:16:23 · 363 阅读 · 0 评论