唯有前进值得敬仰

---等得越久,相聚时越幸福
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

03 2011 档案

摘要:现在的浏览器地址栏中不必输入完整的地址就可以找到你以前访问过的网页,如果你仅记得之前访问的网址中有某个字符串aaa,那么只要在地址栏里输入aaa,就可以找到该网址的完整形式。比如在地址栏中输入一个字符:t ,那么以前访问的地址就会显示出来供你选择:t.sina.com.cn/****taobao.comwww.tudou.comcode.taobao.org.......如果继续输入tao,那么显示出来的就只有taobao.comcode.taobao.org了。问题是假设存放访问网址历史记录的文件有几百万行,每行是一个网址字符串,输入要查找的字符串可能是某一行的一部分,怎么才能快速高效地找出 阅读全文

posted @ 2011-03-30 10:16 绿豆芽33 阅读(1442) 评论(2) 推荐(0)

摘要:今天淘宝海笔时碰到的一道题。题目大概是这样叙述的:n个鸡蛋放到m个篮子,每个篮子不能空,要求满足:给定任意一个小于n的数量,几个篮子的鸡蛋数加起来就可以等于它。要求输入n和m,求出满足要求的所有可行的鸡蛋放法。偶是个小菜鸟,想了10多分钟,效率不怎么高,貌似还算可行,回来后写了下程序。偶的思路大体是这样的。先将问题转换一下描述,就是给定两个正整数n和m,对于任一个小于n的正整数x都可以表示成这m个数的部分和,求出满足这个要求的m个数有多少种。经过我的分析发现,这m个数的最大值不超过n/2(上取整),而且除了最后两个数不是1之外其他的m-2个数均是1,可是我当时不会证明这个想法对不对。就采用了这 阅读全文

posted @ 2011-03-27 21:41 绿豆芽33 阅读(1519) 评论(4) 推荐(1)

摘要:给出一个任意一个正整数x,可能很大,求出比它大的最小对称数。#include<iostream>using namespace std;char *get_palindromic_num(char *num){//为了节省空间,可以只用一个数组tmp,这里我就不优化了 int len=strlen(num); char *tmp=new char[len*2]; char *ret=new char[2*len]; if(len==1) {//如果只有一个数字字符,<9,则最小对称数为num+1,>=9,则为11; if(num[0]-'0'<9) 阅读全文

posted @ 2011-03-16 15:50 绿豆芽33 阅读(855) 评论(2) 推荐(0)