- 博客(275)
- 收藏
- 关注
原创 #### 146. LRU Cache ####
Design and implement a data structure forLeast Recently Used (LRU) cache. It should support the following operations:getandput.get(key)- Get the value (will always be positive) of the key if th...
2019-03-04 22:06:18 207
原创 python日常使用细节
1. for循环时,变量的初始化范围:lenth = 8for i in range(lenth): # i的范围是[0,8) ''' processing module '''for i in range(1,lenth): # i的范围是[1,8) ''' processing module '''2. list 初始...
2018-07-22 16:11:54 153
原创 C++ STL使用问题个人总结
1.vector初始化: 一维vector:vector<elementType> name(lenth,value), eg. vector<bool> visit(10,true) 二维vector:vector<vector<bool>> visit(10,vector<bool>...
2018-07-19 15:02:20 276
原创 ##拼凑面额##
题目描述给你六种面额1、5、10、20、50、100元的纸币,假设每种币值的数量都足够多,编写程序求组成N元(N为0-10000的非负整数)的不同组合的个数。输入描述:输入为一个数字N,即需要拼凑的面额输出描述:输出也是一个数字,为组成N的组合个数。示例1输入复制5输出复制2解法上类比于“0/1背包”问题:table[i,j]表示使...
2019-03-05 19:52:21 334
原创 二叉树的下一个结点
给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。方法:首先,判断pNode节点是否存在右孩子,若存在则遍历右孩子,找到右孩子的最左节点;否则,从root出发,向上遍历,直到节点pre是其父节点的左孩子为止。 /*struct TreeLinkNode { int val; ...
2019-01-14 22:40:11 802
原创 旋转数组的最小数字
把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。方法:二分法的变形class Solution {public: int minNumberInRota...
2019-01-14 22:35:18 249
转载 23. Merge k Sorted Lists
Merge k sorted linked lists and return it as one sorted list. Analyze and describe its complexity.Example:Input:[ 1->4->5, 1->3->4, 2->6]Output: 1->1->2->3->4-...
2019-01-03 13:34:45 157
原创 229. Majority Element II
Given an integer array of size n, find all elements that appear more than ⌊ n/3 ⌋ times.Note: The algorithm should run in linear time and in O(1) space.Example 1:Input: [3,2,3]Output: [3]Exa...
2018-12-28 12:43:48 141
转载 673. Number of Longest Increasing Subsequence
Given an unsorted array of integers, find the number of longest increasing subsequence.Example 1:Input: [1,3,5,4,7]Output: 2Explanation: The two longest increasing subsequence are [1, 3, 4, 7] ...
2018-12-25 22:50:57 152
原创 188. Best Time to Buy and Sell Stock IV
Say you have an array for which the ith element is the price of a given stock on day i.Design an algorithm to find the maximum profit. You may complete at most k transactions.Note:You may not eng...
2018-12-24 23:07:31 108
原创 see-123. Best Time to Buy and Sell Stock III
Say you have an array for which the ith element is the price of a given stock on day i.Design an algorithm to find the maximum profit. You may complete at most two transactions.Note: You may not e...
2018-12-24 22:31:27 338
原创 末尾0的个数
题目描述输入一个正整数n,求n!(即阶乘)末尾有多少个0? 比如: n = 10; n! = 3628800,所以答案为2输入描述:输入为一行,n(1 ≤ n ≤ 1000)输出描述:输出一个整数,即题目所求示例1输入复制10输出复制2解析:能被5(5^1)整除的提供1个0能被25(5^2)整除的提供2个0能被125(5^3)...
2018-12-02 20:06:03 387 1
原创 [数串*]
题目描述设有n个正整数,将他们连接成一排,组成一个最大的多位整数。如:n=3时,3个整数13,312,343,连成的最大整数为34331213。如:n=4时,4个整数7,13,4,246连接成的最大整数为7424613。输入描述:有多组测试样例,每组测试样例包含两行,第一行为一个整数N(N<=100),第二行包含N个数(每个数不超过1000,空格分开)。输出描述:...
2018-11-26 19:46:23 165
原创 最短排序
题目描述对于一个无序数组A,请设计一个算法,求出需要排序的最短子数组的长度。给定一个整数数组A及它的大小n,请返回最短子数组的长度。测试样例:[1,5,3,4,2,6,7],7返回:4class ShortSubsequence {public: int findShortest(vector<int> A, int n) { /...
2018-11-01 12:57:34 228
原创 【360】挑选镇长
题目描述360员工桂最近申请了一个长假,一个人背着包出去自助游了。 路上,他经过了一个小镇,发现小镇的人们都围在一棵树下争吵。桂上前询问情况,得知小镇的人们正缺一个镇长,他们希望能选一个知名又公正的镇长,即,大家希望能选出一个人,所有人都认识他,但同时他不认识镇上除自己以外的其他人(在此,我们默认每个人自己认识自己)。可是小镇里的人太多了,一下子大家谁也说服不了谁。 “这简单啊。”桂表...
2018-11-01 12:47:20 173
原创 顺时针打印矩阵
题目描述对于一个矩阵,请设计一个算法从左上角(mat[0][0])开始,顺时针打印矩阵元素。给定int矩阵mat,以及它的维数nxm,请返回一个数组,数组中的元素为矩阵元素的顺时针输出。测试样例:[[1,2],[3,4]],2,2返回:[1,2,4,3]class Printer {public: vector<int> clockwiseP...
2018-10-26 22:30:03 290
原创 【上高楼***】
题目描述现在有一栋高楼,但是电梯却出了故障,无奈的你只能走楼梯上楼,根据你的腿长,你一次能走1级或2级楼梯,已知你要走n级楼梯才能走到你的目的楼层,请计算你走到目的楼层的方案数,由于楼很高,所以n的范围为int范围内的正整数。给定楼梯总数n,请返回方案数。为了防止溢出,请返回结果Mod 1000000007的值。测试样例:3返回:3使用快速幂运算的算法原理实现斐波那契数...
2018-10-21 21:06:53 275
原创 【网易】小易的升级之路
题目描述小易经常沉迷于网络游戏.有一次,他在玩一个打怪升级的游戏,他的角色的初始能力值为 a.在接下来的一段时间内,他将会依次遇见n个怪物,每个怪物的防御力为b1,b2,b3...bn. 如果遇到的怪物防御力bi小于等于小易的当前能力值c,那么他就能轻松打败怪物,并 且使得自己的能力值增加bi;如果bi大于c,那他也能打败怪物,但他的能力值只能增加bi 与c的最大公约数.那么问题来了,在一系列...
2018-10-16 20:43:31 491
原创 【腾讯】微信红包
题目描述春节期间小明使用微信收到很多个红包,非常开心。在查看领取红包记录时发现,某个红包金额出现的次数超过了红包总数的一半。请帮小明找到该红包金额。写出具体算法思路和代码实现,要求算法尽可能高效。给定一个红包的金额数组gifts及它的大小n,请返回所求红包的金额。若没有金额超过总数的一半,返回0。测试样例:[1,2,3,2,2],5返回:2 class Gif...
2018-10-15 22:27:36 248
原创 【楚楚街】解密
题目描述亮亮深吸一口气,小心地将盒子打开,里面是一张地图,地图上除了一些奇怪的字母以外没有任何路线信息,这可让亮亮犯了愁,这些字母代表了什么意思呢? 亮亮绞尽脑汁也想不出什么思路,突然,亮亮眼前一亮,“我可以把这些字母所有的排列方式全部写出来,一定可以找到答案!” 于是,亮亮兴奋的开始寻找字母里的秘密。输入描述:每组数据输入只有一行,是一个由不同的大写字母组成的字符串,已知字符串的长...
2018-10-12 13:31:26 203
原创 【蘑菇街】投篮游戏
题目描述有一个投篮游戏。球场有p个篮筐,编号为0,1...,p-1。每个篮筐下有个袋子,每个袋子最多装一个篮球。有n个篮球,每个球编号xi 。规则是将数字为xi 的篮球投到xi 除p的余数为编号的袋里。若袋里已有篮球则球弹出游戏结束输出i,否则重复至所有球都投完。输出-1。问游戏最终的输出是什么?输入描述:第一行两个整数p,n(2≤p,n≤300)。p为篮筐数,n为篮球数。接着n行为...
2018-10-12 13:11:07 388
原创 【蘑菇街】最大间隔
题目描述给定一个递增序列,a1 <a2 <...<an 。定义这个序列的最大间隔为d=max{ai+1 - ai}(1≤i<n),现在要从a2 ,a3 ..an-1 中删除一个元素。问剩余序列的最大间隔最小是多少?输入描述:第一行,一个正整数n(1<=n<=100),序列长度;接下来n个小于1000的正整数,表示一个递增序列。输出描述:输...
2018-10-11 20:58:34 169
原创 【蘑菇街】搬圆桌
题目描述现在有一张半径为r的圆桌,其中心位于(x,y),现在他想把圆桌的中心移到(x1,y1)。每次移动一步,都必须在圆桌边缘固定一个点然后将圆桌绕这个点旋转。问最少需要移动几步。输入描述:一行五个整数r,x,y,x1,y1(1≤r≤100000,-100000≤x,y,x1,y1≤100000)输出描述:输出一个整数,表示答案示例1输入复制2 0 0 0...
2018-10-11 20:30:42 119
原创 【去哪儿】表达式合法判断
题目描述写一段代码,判断一个包括'{','[','(',')',']','}'的表达式是否合法(注意看样例的合法规则。)给定一个表达式A,请返回一个bool值,代表它是否合法。测试样例:"[a+b*(5-4)]*{x+b+b*(({1+2}))}"返回:true#include <unordered_map>class ChkExpression {p...
2018-10-11 20:02:44 626
原创 【华为】字符集合
题目描述输入一个字符串,求出该字符串包含的字符集合输入描述:每组数据输入一个字符串,字符串最大长度为100,且只包含字母,不可能为空串,区分大小写。输出描述:每组数据一行,按字符串原有的字符顺序,输出字符集合,即重复出现并靠后的字母不输出。示例1输入复制abcqweracb输出复制abcqwer#include "stdio.h"#i...
2018-10-11 18:21:19 533
原创 【蘑菇街】回文串
题目描述给定一个字符串,问是否能通过添加一个字母将其变为回文串。输入描述:一行一个由小写字母构成的字符串,字符串长度小于等于10。输出描述:输出答案(YES\NO).示例1输入复制coco输出复制YES#include "stdio.h"#include <math.h>#include <iostream>...
2018-10-11 18:13:48 112
原创 【华为】删数
题目描述有一个数组a[N]顺序存放0~N-1,要求每隔两个数删掉一个数,到末尾时循环至开头继续进行,求最后一个被删掉的数的原始下标位置。以8个数(N=7)为例:{0,1,2,3,4,5,6,7},0->1->2(删除)->3->4->5(删除)->6->7->0(删除),如此循环直到最后一个数被删除。输入描述:每组数据为一行一个整数n(...
2018-10-11 12:40:18 481
原创 【去哪儿】血型遗传检测
题目描述血型遗传对照表如下:父母血型 子女会出现的血型 子女不会出现的血型 O与O O A,B,AB A与O A,O B,AB A与A A,O B,AB A与B A,B,AB,O —— A与AB A,B,AB O B与O B,O A,AB B与B B,O A,AB ...
2018-10-10 23:02:20 527
原创 【去哪儿】字符串替换
题目描述请你实现一个简单的字符串替换函数。原串中需要替换的占位符为"%s",请按照参数列表的顺序一一替换占位符。若参数列表的字符数大于占位符个数。则将剩下的参数字符添加到字符串的结尾。给定一个字符串A,同时给定它的长度n及参数字符数组arg,请返回替换后的字符串。保证参数个数大于等于占位符个数。保证原串由大小写英文字母组成,同时长度小于等于500。测试样例:"A%sC%sE...
2018-10-10 19:11:59 318
原创 【去哪儿】文本嗅探
题目描述现在有一个字符串列表,和一个关键词列表,请设计一个高效算法,检测出含关键字列表中关键字(一个或多个)的字符串。给定字符串数组A及它的大小n以及关键词数组key及它的大小m,请返回一个排好序的含关键词的字符串序号的列表。保证所有字符串长度小于等于100,关键词个数小于等于100,字符串个数小于等于200。保证所有字符串全部由小写英文字符组成。若不存在含关键字的字符串,请返回一个只含-...
2018-10-09 22:27:40 113
原创 【CVTE】兔子藏洞
题目描述一只兔子藏身于20个圆形排列的洞中(洞从1开始编号),一只狼从x号洞开始找,下次隔一个洞找(即在x+2号洞找),在下次个两个洞找(即在x+5号洞找),它找了n次仍然没有找到。问兔子可能在那些洞中。输入描述:输入有多组数据,每组数据一行两个整数分别为x和n(x <= 20,n <= 100000)输出描述:每组数据一行按从小到大的顺序输出兔子可能在的洞,数...
2018-10-09 20:44:09 292
原创 【京东】年终奖
题目描述小东所在公司要发年终奖,而小东恰好获得了最高福利,他要在公司年会上参与一个抽奖游戏,游戏在一个6*6的棋盘上进行,上面放着36个价值不等的礼物,每个小的棋盘上面放置着一个礼物,他需要从左上角开始游戏,每次只能向下或者向右移动一步,到达右下角停止,一路上的格子里的礼物小东都能拿到,请设计一个算法使小东拿到价值最高的礼物。给定一个6*6的矩阵board,其中每个元素为对应格子的礼物价值...
2018-10-09 19:55:39 412
原创 【美团】二维数组打印
题目描述有一个二维数组(n*n),写程序实现从右上角到左下角沿主对角线方向打印。给定一个二位数组arr及题目中的参数n,请返回结果数组。测试样例:[[1,2,3,4],[5,6,7,8],[9,10,11,12],[13,14,15,16]],4返回:[4,3,8,2,7,12,1,6,11,16,5,10,15,9,14,13]class Printer {pub...
2018-10-08 23:13:29 306
原创 【美团】字符编码
题目描述请设计一个算法,给一个字符串进行二进制编码,使得编码后字符串的长度最短。输入描述:每组数据一行,为待编码的字符串。保证字符串长度小于等于1000。输出描述:一行输出最短的编码后长度。示例1输入复制MT-TECH-TEAM输出复制33#include "stdio.h"#include <iostream>#inc...
2018-10-08 23:06:01 668
原创 【美团】奇数位丢弃
题目描述对于一个由0..n的所有数按升序组成的序列,我们要进行一些筛选,每次我们取当前所有数字中从小到大的第奇数位个的数,并将其丢弃。重复这一过程直到最后剩下一个数。请求出最后剩下的数字。输入描述:每组数据一行一个数字,为题目中的n(n小于等于1000)。输出描述:一行输出最后剩下的数字。示例1输入复制500输出复制255#includ...
2018-10-08 22:33:17 483
原创 ***【小米/美团】股票交易日
题目描述在股市的交易日中,假设最多可进行两次买卖(即买和卖的次数均小于等于2),规则是必须一笔成交后进行另一笔(即买-卖-买-卖的顺序进行)。给出一天中的股票变化序列,请写一个程序计算一天可以获得的最大收益。请采用实践复杂度低的方法实现。给定价格序列prices及它的长度n,请返回最大收益。保证长度小于等于500。测试样例:[10,22,5,75,65,80],6返回:87...
2018-10-08 21:45:05 182
原创 【京东】小球的距离
题目描述小东和三个朋友一起在楼上抛小球,他们站在楼房的不同层,假设小东站的楼层距离地面N米,球从他手里自由落下,每次落地后反跳回上次下落高度的一半,并以此类推直到全部落到地面不跳,求4个小球一共经过了多少米?(数字都为整数)给定四个整数A,B,C,D,请返回所求结果。测试样例:100,90,80,70返回:1020 int calcDistance(int A,...
2018-10-08 21:27:17 163
原创 【京东】上台阶
题目描述有一楼梯共m级,刚开始时你在第一级,若每次只能跨上一级或者二级,要走上m级,共有多少走法?注:规定从一级到一级有0种走法。给定一个正整数int n,请返回一个数,代表上楼的方式数。保证n小于等于100。为了防止溢出,请返回结果Mod 1000000007的值。测试样例:3返回:2class GoUpstairs {public: int countW...
2018-10-08 21:17:35 136
原创 【百度】裁剪网格纸
题目描述度度熊有一张网格纸,但是纸上有一些点过的点,每个点都在网格点上,若把网格看成一个坐标轴平行于网格线的坐标系的话,每个点可以用一对整数x,y来表示。度度熊必须沿着网格线画一个正方形,使所有点在正方形的内部或者边界。然后把这个正方形剪下来。问剪掉正方形的最小面积是多少。输入描述:第一行一个数n(2≤n≤1000)表示点数,接下来每行一对整数xi,yi(-1e9<=xi,yi...
2018-10-07 21:12:36 325
原创 【美团】棋子翻转
题目描述在4x4的棋盘上摆满了黑白棋子,黑白两色的位置和数目随机其中左上角坐标为(1,1),右下角坐标为(4,4),现在依次有一些翻转操作,要对一些给定支点坐标为中心的上下左右四个棋子的颜色进行翻转,请计算出翻转后的棋盘颜色。给定两个数组A和f,分别为初始棋盘和翻转位置。其中翻转位置共有3个。请返回翻转后的棋盘。测试样例:[[0,0,1,1],[1,0,1,0],[0,1,1,0...
2018-10-07 19:10:23 507
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人