2014年10月22日
摘要: 技术能实现的,就一定会发生,现在轮到Web IDE了。Monaca 是纯在Web端运行的一个基于Cordova生态的Web IDE,其功能之完善与易用已经足以让Eclipse和XCode汗颜。坊间传闻Javascript一统江湖的时候不远了,因为控制了UI,你就控制了世界。先来看看怎么用吧:1、登录... 阅读全文
posted @ 2014-10-22 22:46 暗夜的雪 阅读(9156) 评论(4) 推荐(1) 编辑
  2012年10月26日
摘要: 有一个数组{1,4,6,2,8,5,7,3,9,10},要求用程序输出所有和为10的组合(10也包括在内) 递归,回溯 对于其中一个数Ni,其和为某个数的组合可以分解为两个互不相干的子问题: 1、在0到i-1的范围内寻找和为(当前和)的组合 2、(当前和)=(当前和)-(Ni),然后在0到i-1的范围内寻找和为(当前和)的组合 为了打印遍历路径,设置了一个辅助vector,每次遇到情况2的时候把这个数存放在vector中,情况2遍历完后,再pop出,继续找情况1 废话就这么多,上码: #include <stdio.h>#include <vector>using na 阅读全文
posted @ 2012-10-26 15:28 暗夜的雪 阅读(211) 评论(0) 推荐(0) 编辑
  2012年10月18日
摘要: C++编译器被人如此诟病的主要原因就是C++背着用户干了太多的事情,而这些事情往往容易产生语义困惑(知道为什么溺爱孩子,给孩子一切都安排好,反而会受到不肖子的臭骂了吧??)C++隐含做的事情很多,下面我就单从类型转化这个主题大概说一下C++都在类型转化过程中做了什么。不当之处请多批评指正:1、将一个类转化成为其他类型: 类的作者可以定义该类的对象向指定数据类型的转换函数,具体使用方法是在类中定义 operator TypeName(),注意这样的类型转化函数虽然没有标明返回值,但是必须返回转化目标类型的 对象。函数不能有形参列表。 比如:class String{ public: ope... 阅读全文
posted @ 2012-10-18 16:33 暗夜的雪 阅读(3026) 评论(0) 推荐(0) 编辑
  2012年10月17日
摘要: 为了解决谷歌一道题,想了个非主流的招数。原题是:“10块都相同的糖分给3个小朋友,每个小朋友至少分到一块糖,有几种分配方式?”,细细一想其实就是每个小朋友一块糖的前提下,再分7块糖,就是把7块糖分给3个小朋友的种类数,也就是这个二维数组中DP[2][6]的取值。 这题完全可以用排列组合来做,穷举各种可能性后乘以组合数,答案是36。 用动态规划的思路比较奇特。。总感觉发现了什么奥秘,却又阐释不清楚,大概说一说吧: 拿3块糖分给3个小朋友这个问题作为分析例子: 1、选择一个小朋友不给他糖(怪蜀黍都这么干!),然后把剩下的3块糖分给其他2个小朋友(一共有4种方式) 2、回顾一下,之前算... 阅读全文
posted @ 2012-10-17 20:17 暗夜的雪 阅读(1573) 评论(0) 推荐(0) 编辑
摘要: class TestChild{public: TestChild() { x=0; y=0; printf("TestChild: Constructor be called!\n"); } ~TestChild(){} TestChild(const TestChild& tc) { x=tc.x; y=tc.y; printf("TestChild: Copy Constructor called!//因为写在了Test(拷贝)构造函数的初始化列表里\n"); }... 阅读全文
posted @ 2012-10-17 17:20 暗夜的雪 阅读(5326) 评论(0) 推荐(0) 编辑
  2012年10月13日
摘要: 记忆深刻的两道题: 1.如下程序的输出是什么: #include <stdio.h>class Base{public: Base(){printf("BaseContor\n");foo();} ~Base(){printf("BaseDeContor\n");foo();} virtual void foo(){printf("Base foo\n");}};class Derive:public Base{public: Derive(){printf("DeriveContor\n");foo( 阅读全文
posted @ 2012-10-13 01:30 暗夜的雪 阅读(296) 评论(0) 推荐(0) 编辑
  2012年10月10日
摘要: 原题(引用需注明为亚马逊笔试题):Question 2 / 2Question:As you know, two operations of Stack are push and pop. Now give you two integer arrays, one is the original array before push and pop operations, the other one is the result array after a series of push and pop operations to the first array. Please give the pu 阅读全文
posted @ 2012-10-10 16:27 暗夜的雪 阅读(423) 评论(0) 推荐(0) 编辑
  2012年10月6日
摘要: 问题描述:将一个正数进行拆分,比如n=3 输出:(1+1+1,1+2,2+1,3)这个问题想了一下午才想透,利用递归可以进行解决。使用一个辅助数组来保存每一次递归的值。思路如下(输入n=3): 1、对于第一位的数字,应当从1遍历到3(即n,遍历index设为i),形式如:1+...., 2+.... ,n 2、对于第二位数字,是n-i这个数的遍历结果(递归) 3、需要保存下来遍历过程中的因子,便于输出整个中间结果数组 4、递归停止条件:如果n-i已经等于0,意味着可以打印输出了# include <stdio.h># include <stdlib.h># includ 阅读全文
posted @ 2012-10-06 17:34 暗夜的雪 阅读(268) 评论(0) 推荐(0) 编辑
摘要: 以下是两道树方面问题的解:1、由前序遍历序列和中序遍历序列还原构造出一棵二叉树2、在一棵二叉树中寻找遍历路径上的值之和为指定数字的路径#include <iostream>#include <vector>struct BinaryTreeNode { BinaryTreeNode* m_left; BinaryTreeNode* m_right; int var;};BinaryTreeNode* ConstructCore(int* prestart,int* preend,int* midstart,int* midend){ BinaryTreeNode* ro 阅读全文
posted @ 2012-10-06 15:44 暗夜的雪 阅读(181) 评论(0) 推荐(0) 编辑
  2012年9月30日
摘要: 本人不才,虽然学过运筹学,但早已忘了个干净,最近在看面试题,发现DP问题非常普遍,而我总喜欢用递归搜索的思维方式去解决DP问题,做了几道题才发现自己根本没有理解DP,也没有使用DP。所以在看到01背包问题的解的时候百思不得其解。相信不少人跟我一样也会对01问题的递推公式不理解,下面就通过一道程序的打印结果来分析一下到底DP在程序中是如何运作的。设总的背包大小是V,申请一个大小是V的数组f[V]来存储中间结果。下面要开始发挥想象力了:想象一下,现在你有V个从1到V容量连续变化的V个背包(而不是只有一个背包),第一步迭代: 不论目前手边有多少个物件,首先拿起第一个物件1,在手里掂量掂量,看起来可. 阅读全文
posted @ 2012-09-30 20:39 暗夜的雪 阅读(3948) 评论(0) 推荐(0) 编辑