上一页 1 ··· 96 97 98 99 100 101 102 103 104 ··· 140 下一页
摘要: Section I正确区分不同的查找算法count,find,binary_search,lower_bound,upper_bound,equal_range本文是对Effective STL第45条的一个总结,阐述了各种查找算法的异同以及使用他们的时机。首先可供查找的算法大致有count,find,binary_search,lower_bound,upper_bound,equal_range。带有判别式的如count_if,find_if或者binary_search的派别式版本,其用法大致相同,不影响选择,所以不作考虑。注意这些查找算法需要序列式容器,或者数组。关联容器有相应的同名成 阅读全文
posted @ 2012-09-05 23:33 知识天地 阅读(10488) 评论(0) 推荐(2)
摘要: 昨晚除夕夜,没有看春晚,而是一个人在实验室参加了科大ACM的比赛。 一句话总结:完全找虐。哎……刚开始还有点自信的我,被打击了。 让自己明白,我根本不聪明啊。恩,但对于未来,还是要相信自己!用积极乐观的心态 + 勤奋刻苦,去拼搏。 要想达到一定的高度,必须一直勤奋、刻苦,积累。 打击归打击,收获还是有的。第一是,意识到不断的勤奋很重要;第二是,见证了,程序不经常写,很常用的技巧都会陌生……昨天写快排+三次二分都花了很久;而后一道模拟题,BFS+priority_queue,忘记了优先队列的用法……加油。下面,总结一下priority_queue的用法,免得以后又忘记了,还要到处找(C++... 阅读全文
posted @ 2012-09-05 14:21 知识天地 阅读(8820) 评论(0) 推荐(0)
摘要: //copyright@ saturnman //updated@ 2011 July #include "stdafx.h" #include "string.h"#include "stdlib.h"int NumberOf1(const char* strN);int PowerBase10(unsigned int n);/////////////////////////////////////////////////////////////////////////////// Find the number of 1 in 阅读全文
posted @ 2012-09-04 14:54 知识天地 阅读(480) 评论(0) 推荐(0)
摘要: 一面:1.linux进程通信的方法2.线程同步(我扯到了signal和criticalsection的区别那些)3.二叉树,找到最大距离4.假设有100个人登记,有一个疯子,疯子的行为是:随机做一个座位正常人的行为是:尽量做自己的,如果自己的被占了,随机做一个。问:最后一个登机的人,坐自己位置的概率5.如何给网页归类(我回答的是基于关键词库,然后kmp检索,后来又扯一会kmp)分享下同学今天面百度的真题1.自我介绍2.自己说自己做的比较好的项目3.介绍一个你最熟悉的排序算法,我说堆排序,然后如何构建,如何排序,举例说明何时不是稳定的4.堆,栈,全局数据,虚函数实现5.证明n可以表示成n=3^k 阅读全文
posted @ 2012-08-29 13:18 知识天地 阅读(182) 评论(0) 推荐(0)
摘要: 给九个格子1,2,...9 一共9个数组,每次只能交换9与他直接相邻的数字,计算从一种状态到另外一种状态的最少移动步数。用广搜+康拓展开的方法实现。#include "stdafx.h" #include<iostream> #include<string> #include <vector> #include <math.h>#include <map>#include <queue>using namespace std;const int MAX=400000;long int fac[]={1, 阅读全文
posted @ 2012-08-29 11:20 知识天地 阅读(1021) 评论(0) 推荐(0)
摘要: 题目:给出n个互不相同的字符, 并给定它们的相对大小顺序,这样n个字符的所有排列也会有一个顺序.现在任给一个排列,求出在它后面的第i个排列.这是一个典型的康拓展开应用,首先我们先阐述一下什么是康拓展开。(1)康拓展开 所谓康拓展开是指把一个整数X展开成如下形式: X=a[n]*(n-1)!+a[n-1]*(n-2)!+...+a[i]*(i-1)!+...+a[2]*1!+a[1]*0!。(其中,a为整数,并且0<=a[i]<i(1<=i<=n))(2)应用实例 {1,2,3,4,...,n}表示1,2,3,...,n的排列如 {1,2,3} 按从小到大排列一共6个:1 阅读全文
posted @ 2012-08-28 18:06 知识天地 阅读(302) 评论(0) 推荐(0)
摘要: 发信人: YouTube (YouTube - Broadcast Yourself), 信区: Job标题: 人民搜索面试回忆发信站: 北邮人论坛 (Sat Oct 22 23:18:31 2011), 站内所投职位:搜索研发工程师结果:拒信1封一、面试形式 1、3轮1V1的技术面试;某轮面试通过,稍事休息后开始下一轮面试。 2、面试过程基本分为两部分: 1)对简历上所写项目的描述,及回答对方感兴趣的项目细节; 2)对方给出数组、链表等常见程序设计问题,要求描述解决问题的思路;并把思路转化为代码(手写)。 这一部分是最重要的环节,占面试总时间的85%以上。二、面试题回忆 1、删除字符串开始及 阅读全文
posted @ 2012-08-27 22:55 知识天地 阅读(575) 评论(0) 推荐(0)
摘要: 在两个有序的数组中找第N个数,O(lgm+lgn)级分类:算法2009-10-09 20:52981人阅读评论(3)收藏举报问题描述:Give a divide and conquer algorithm for the following problem:you are given two sorted lists of size m and n, and are allowedunit time access to the ith element of each list. Give an O(lg m + lgn)time algorithm for computing the kth 阅读全文
posted @ 2012-08-27 08:28 知识天地 阅读(2717) 评论(0) 推荐(0)
摘要: 亚洲微软研究院所在的希格玛大厦一共有6部电梯。在高峰时间,每层都有人上下,电梯每层都停。实习生小飞常常会被每层都停的电梯弄的很不耐烦,于是他提出了这样一个办法:由于楼层并不算太高,那么在繁忙的上下班时间,每次电梯从一层往上走时,我们只允许电梯停在其中的某一层。所有乘客从一楼上电梯,到达某层后,电梯停下来,所有乘客再从这里爬楼梯到自己的目的层。在一楼的时候,每个乘客选择自己的目的层,电梯则计算出应停的楼层。问:电梯停在哪一层楼,能够保证这次乘坐电梯的所有乘客爬楼梯的层数之和最少?解法一:暴力枚举法。从第1层枚举到第N层,求出电梯在x层停的话,所有乘客需要怕多少层楼。求出最少的那层即可。代码略。解 阅读全文
posted @ 2012-08-26 14:12 知识天地 阅读(1121) 评论(0) 推荐(0)
摘要: 有n 个长为m+1 的字符串,如果某个字符串的最后m 个字符与某个字符串的前m 个字符匹配,则两个字符串可以联接,问这n 个字符串最多可以连成一个多长的字符串,如果出现循环,则返回错误。把字符串看成图中的一个顶点,两字符串匹配则两个顶点间有边,从而转化为图的问题。利用弗洛伊德算法求图的最长路径。[cpp]view plaincopy#include<iostream>#include<string>usingnamespacestd;#defineINFINITY-10000#defineMAX_VERTEX_NUM20typedefstructMGraph{strin 阅读全文
posted @ 2012-08-23 11:15 知识天地 阅读(794) 评论(0) 推荐(0)
上一页 1 ··· 96 97 98 99 100 101 102 103 104 ··· 140 下一页