05 2015 档案

摘要:题目:X轴上有N条线段,每条线段包括1个起点和终点。线段的重叠是这样来算的,[10 20]和[12 25]的重叠部分为[12 20]。给出N条线段的起点和终点,从中选出2条线段,这两条线段的重叠部分是最长的。输出这个最长的距离。如果没有重叠,输出0。思路:1、暴力计算依次计算两两线段之间的重叠长度,... 阅读全文
posted @ 2015-05-28 23:53 AndyJee 阅读(2903) 评论(0) 推荐(0) 编辑
摘要:题目:判断两个区间是否重叠思路:假设区间表示为[start,end],先存在两个区间A,B.两个区间的关系有两种:重叠与不重叠重叠的情况有4种,两种相交,两种包含(很容易想到,此处不示意)不重叠有两种情况:A在B前面,A在B后面因此很容易得到判断区间重叠的方法:1、正向判断,列出四种重叠的情况,满足... 阅读全文
posted @ 2015-05-28 23:00 AndyJee 阅读(25244) 评论(2) 推荐(0) 编辑
摘要:题目:给定N张扑克牌和一个随机函数,设计一个洗牌算法思路:假设数组A存的是扑克牌代表的数字,则洗牌的过程就是数组中元素交换的过程。洗牌是个随机的过程,也是一个排列组合的过程。假设有N张牌,则其排列组合的可能情况为N!=N*(N-1)*....*2*1。有两种的随机洗牌函数:1、A[i]=A[rand... 阅读全文
posted @ 2015-05-25 16:33 AndyJee 阅读(771) 评论(0) 推荐(0) 编辑
摘要:题目:若对于整数N,在集合{1,2……,N}中找出m个数,使其和等于剩下的N-m个数的和。返回所有可能的组合数,N#includeusing namespace std;#define N 8int count=0;void Sum(int *nums,vector out,int sum,int ... 阅读全文
posted @ 2015-05-25 16:05 AndyJee 阅读(592) 评论(0) 推荐(0) 编辑
摘要:题目:现有一个 n 位数,你需要删除其中的 k 位,请问如何删除才能使得剩下的数最大?比如当数为 2319274, k=1 时,删去 2 变成 319274 后是可能的最大值。思路:1、贪心算法每次从高位向低位数,删除高位数字比低位数字小的那位数字。如2319274第一次21,略过,1 > nums... 阅读全文
posted @ 2015-05-25 11:10 AndyJee 阅读(1234) 评论(0) 推荐(0) 编辑
摘要:在网上看到一道题,实现一个memcpy函数,于是查了一下memcpy的函数原型,如下:void* memcpy(char *strDest, const char *strSrc, int Count){ if(strDest == NULL || strSrc == NULL || Coun... 阅读全文
posted @ 2015-05-21 14:42 AndyJee 阅读(4089) 评论(0) 推荐(0) 编辑
摘要:题目:将某个正整数分解质因式,并输出分解结果。代码:1、递归2、非递归#include using namespace std;// recursivevoid prim1(int m,int n){ if(m>n){ while(m%n!=0) n++; m=m/... 阅读全文
posted @ 2015-05-13 17:19 AndyJee 阅读(414) 评论(0) 推荐(0) 编辑
摘要:题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。思路:鉴于数组的规律性,选取数组查找范围的右上角数字,如果与查找的数字相等, 则返回true;如果比查找的数字大,则将该数字所在... 阅读全文
posted @ 2015-05-07 22:09 AndyJee 阅读(357) 评论(0) 推荐(0) 编辑
摘要:Write an efficient algorithm that searches for a value in an m x n matrix. This matrix has the following properties:Integers in each row are sorted fr... 阅读全文
posted @ 2015-05-07 21:56 AndyJee 阅读(1054) 评论(0) 推荐(0) 编辑
摘要:题目:如下为类型CMyString的声明,请为该类型添加赋值运算符函数。class CMyString{public: CMyString(char* pData=NULL); CMyString(const CMyString& str); CMyString& operator=(const C... 阅读全文
posted @ 2015-05-07 21:05 AndyJee 阅读(916) 评论(0) 推荐(1) 编辑
摘要:题目:给定一个数组和滑动窗口的大小,找出所有滑动窗口里数值的最大值。例如,如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小3,那么一共存在6个滑动窗口,他们的最大值分别为{4,4,6,6,6,5};针对数组{2,3,4,2,6,2,5,1}的滑动窗口有以下6个:{[2,3,4],2,6... 阅读全文
posted @ 2015-05-06 23:45 AndyJee 阅读(9143) 评论(1) 推荐(2) 编辑
摘要:There are N children standing in a line. Each child is assigned a rating value.You are giving candies to these children subjected to the following req... 阅读全文
posted @ 2015-05-06 20:17 AndyJee 阅读(1556) 评论(0) 推荐(0) 编辑
摘要:题目:地上有一个m行和n列的方格。一个机器人从坐标0,0的格子开始移动,每一次只能向左,右,上,下四个方向移动一格,但是不能进入行坐标和列坐标的数位之和大于k的格子。 例如,当k为18时,机器人能够进入方格(35,37),因为3+5+3+7 = 18。但是,它不能进入方格(35,38),因为3+5+... 阅读全文
posted @ 2015-05-05 22:26 AndyJee 阅读(1832) 评论(0) 推荐(0) 编辑
摘要:主要内容:1、算法思想2、快速排序算法3、划分算法partition4、快排过程图解5、完整代码1、算法思想快速排序是C.R.A.Hoare于1962年提出的一种划分交换排序。它采用了一种分治的策略,通常称其为分治法(Divide-and-ConquerMethod)。(1) 分治法的基本思想 分... 阅读全文
posted @ 2015-05-05 11:42 AndyJee 阅读(598) 评论(0) 推荐(0) 编辑
摘要:题目:风口之下,猪都能飞。当今中国股市牛市,真可谓“错过等七年”。 给你一个回顾历史的机会,已知一支股票连续n天的价格走势,以长度为n的整数数组表示,数组中第i个元素(prices[i])代表该股票第i天的股价。 假设你一开始没有股票,但有至多两次买入1股而后卖出1股的机会,并且买入前一定要先保证手... 阅读全文
posted @ 2015-05-05 08:16 AndyJee 阅读(1748) 评论(0) 推荐(0) 编辑
摘要:题目:git是一种分布式代码管理工具,git通过树的形式记录文件的更改历史,比如: base' matrix, int indexA, int indexB) { int n=matrix.size(); vector > adjList(n); vector pa... 阅读全文
posted @ 2015-05-04 20:24 AndyJee 阅读(3135) 评论(0) 推荐(0) 编辑
摘要:什么是前缀和、前缀积?前缀和、前缀积也称前缀和数组,前缀积数组。给一数组A,前缀和:新建一数组B,数组中每一项B[i]保存A中[0…i]的和;后缀和:新建一数组B,数组中每一项B[i]保存A中[i…n-1]的和;前缀积:新建一数组B,数组中每一项B[i]保存A中[0…i]的积;后缀积:新建一数组B,... 阅读全文
posted @ 2015-05-03 15:32 AndyJee 阅读(13144) 评论(4) 推荐(5) 编辑
摘要:Given an array of size n, find the majority element. The majority element is the element that appears more than ⌊ n/2 ⌋ times.You may assume that the ... 阅读全文
posted @ 2015-05-03 11:40 AndyJee 阅读(301) 评论(0) 推荐(0) 编辑
摘要:题目:给一数组,如果存在众数,找出众数,即超过一半的数,如果不存在,返回-1.思路:众数:众数出现的次数大于其他所有数出现次数之和方法1:hashmap通过遍历数组,将数组每个数都通过hashmap来统计其出现的个数,如果某个数个数超过一半,则为众数。时间空间复杂度均为O(n)方法2:Moore V... 阅读全文
posted @ 2015-05-03 11:34 AndyJee 阅读(2717) 评论(0) 推荐(0) 编辑
摘要:题目:1、给一数组,所有的数都出现了两次,只有一个数出现了一次,求这个数。2、给一数组,所有的数都出现了两次,只有两个数出现了一次, 求这两个数。思路:位运算1、将数组里所有的数都做异或操作,因为相同的数异或之后就等于0,所以结果就是只出现一次的那个数。2、同样将数组里所有的数做异或操作,相同的数异... 阅读全文
posted @ 2015-05-03 11:02 AndyJee 阅读(508) 评论(0) 推荐(0) 编辑
摘要:Given an unsorted integer array, find the first missing positive integer.For example,Given [1,2,0] return 3,and [3,4,-1,1] return 2.Your algorithm sho... 阅读全文
posted @ 2015-05-02 16:03 AndyJee 阅读(395) 评论(0) 推荐(0) 编辑
摘要:Suppose a sorted array is rotated at some pivot unknown to you beforehand.(i.e., 0 1 2 4 5 6 7 might become 4 5 6 7 0 1 2).Find the minimum element.Yo... 阅读全文
posted @ 2015-05-02 11:46 AndyJee 阅读(814) 评论(0) 推荐(0) 编辑
摘要:题目:翻转句子中全部的单词,单词内容不变,例如I’m a student. ---->student. a I’am思路:与前面数组循环移动或翻转是一样的思路。1、每个单词单独翻转,如m’I a .tneduts2、翻转整个句子,如student. a I’m由于这里是全部翻转,所以先单独翻转,后整... 阅读全文
posted @ 2015-05-01 16:15 AndyJee 阅读(493) 评论(0) 推荐(0) 编辑
摘要:Rotate an array of n elements to the right by k steps.For example, with n = 7 and k = 3, the array [1,2,3,4,5,6,7] is rotated to [5,6,7,1,2,3,4].题目:给一... 阅读全文
posted @ 2015-05-01 15:37 AndyJee 阅读(187) 评论(0) 推荐(0) 编辑
摘要:题目:给定两个串a和b,问b是否是a的子串的变位词,例如输入a=hello,b=lel,lle,ello都是true,但b=elo是false。(字串是连续的)思路:滑动窗口思想:动态维护一个“窗口”,比如b的长度是3,考察a[0..2],a[1..3],a[2..4]是否是b的变位词,关键在于如何... 阅读全文
posted @ 2015-05-01 13:55 AndyJee 阅读(750) 评论(0) 推荐(0) 编辑
摘要:题目:给定两个字符串X,Y,求二者最长的公共子串,例如X=[aaaba],Y=[abaa]。二者的最长公共子串为[aba],长度为3。子序列是不要求连续的,字串必须是连续的。思路与代码:1、简单思想:遍历两个字符串X、Y,分别比较X的字串与Y的字串,求出最长的公共字串。设X长度为m,Y长度为n,最长... 阅读全文
posted @ 2015-05-01 10:37 AndyJee 阅读(636) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示