优酷【算法类】:笔试题目2(最全)

问答
用Javascript实现乱序函数randomSort(array)函数,输出排序后的函数。如[1,2,3,4,5],输出[3,2,4,5,1]。要求N次以内不重复。

问答
N元数组,提供算法将数组内容循环左移m位
比如:{1,2,3,4,5,6} ,循环左移3位得到结果{456123},并解释出时间复杂度和空间复杂度

问答
删除字符串中指定的字符,如字符串”abcdeas",需要删除的字符为“ade",则得到的结果为”bcs”。

问答
在实际项目中,我们可能会用字符串来表示无法用普通数据类型(int/float)来存储的数值,在这里我们把它们定义为大数。请实现两个字符串表示的大数相减的程序。例如:“1234567890123.1”-“123456789.1”=“1234444433334”
要求:
1、可以使用任何语言。
2、不可以使用大数类。
输出的结果也是用字符串表示的大数

问答
编程题:给定一个文件每一行是字符串,找出所有的逆序对,比如abc和cba是逆序的对。

问答
Implements the function String padStart(Stirng stirng, int minLength,char padChar)
return a string, of length at least minLength,consisting of string prepeneded with as many copies of pdaChar as are necessary to reach that length. For example,
padStart("7",3,'0') returns "007"
padStart("2010",3,'0') returns "2010"

Parameters:
string The string which should appear at the end of the result
minLength The minumum length the resulting string must have. Can be zero or negative, in which case the input string is always returned
pdaChar the character to insert at the beginning of the result until the minimum length is reached
returns:the padded string

问答
拼音转数字 输入是一个只包含拼音的字符串,请输出对应的数字序列。
转换关系如下:
描述:
拼音 yi er san si wu liu qi ba jiu
阿拉伯数字 1 2 3 4 5 6 7 8 9
输入字符只包含小写字母,所有字符都可以正好匹配。

问答
通过键盘输入一串小写字母(a~z)组成的字符串。请编写一个字符串压缩程序,将字符串中连续出席的重复字母进行压缩,并输出压缩后的字符串。
压缩规则:
1、仅压缩连续重复出现的字符。比如字符串"abcbc"由于无连续重复字符,压缩后的字符串还是"abcbc"。
2、压缩字段的格式为"字符重复的次数+字符"。例如:字符串"xxxyyyyyyz"压缩后就成为"3x6yz"。
要求实现函数:
void stringZip(const char *pInputStr, long lInputLen, char *pOutputStr);
【输入】
pInputStr: 输入字符串
lInputLen: 输入字符串长度
【输出】 pOutputStr: 输出字符串,空间已经开辟好,与输入字符串等长;
【注意】只需要完成该函数功能算法,中间不需要有任何IO的输入输出
示例
输入:“cccddecc” 输出:“3c2de2c”
输入:“adef” 输出:“adef”
输入:“pppppppp” 输出:“8p”

问答
设计一个函数,比较两个字符串的大小(当字符串包含数字时,以数字来比较大小,例如:“abc1”<"abc5"<"abc10"<"abc10a"<"abc11"<"abc0111")

问答
给出一个字符串,求一个子串x,令w=xx,表示x的连接,如x=ab则w=abab,w在给出的字符串中出现并x是最长的。如给出"ababc"则结果是ab。并给出算法的时间复杂度。

问答
无中间变量,求字符串长度 int strlen(const char *str)。

问答
有一个由大小写组成的字符串,现在需要对他进行修改,将其中的所有小写字母排在大写字母的前面(大写或小写字母之间不要求保持原来次序),如有可能尽量选择时间和空间效率高的算法 c语言函数原型void proc(char *str) 也可以采用你自己熟悉的语言 。

问答
remove掉给定字符串中的多余空格,要求达到以下要求
A.无连续相邻的两个空格
B.字符串开头和结尾无空格
C.新的一行开头和结尾无空格

问答
写一个函数,将其中的t都转换成4个空格。

问答
假设系统里有很多模板文件,每个模板文件都有一个唯一的文件名,其内容是一个长字符串,其中包含很多通过$...$方式标记起来的模板变量,如:
my name is $spname$, i’m $spage$ years old ...
其中spname, spage就是我们所谓的模板变量,请设计一个简单高效的模板解析系统,要求上游模块向该系统提供一个模板文件名和一个模板变量值字典时,
系统能够返回经过模板变量解析后的文本内容,例如:

假设模板文件A.tpl的内容为:
my name is $spname$, i’m $spage$ years old ...
提供的模板变量值字典dict为:
array(’spname’ => ’robin928’, ’spage’ => ’29’),
则解析后的文本内容应该为:
my name is robin928, i’m 29 years old ...
(访问字典时可以通过dict[’spname’]访问到模板变量spname的参数值)

问答
请用C++实现以下print函数,打印链表I中的所有元素, 每个元素单独成一行

void print(const std::list<int> &l){ }

问答
假设有如下字符串: (234453)[234]{2324} 现在,要求编程分析其括号配对是否正确。请自行选择下列两种方案之一实现该程序:
方案一:不考虑括号优先级,只考虑配对正确性;方案二:考虑括号优先级,比如{1[2(3)4]5} 是正确的。但是[1{2}3]是不正确的。

问答
给定一个字符串,(1,(2,3),(4,(5,6),7)),使它变为(1,2,3,4,5,6,7),设计一个算法消除其中嵌套的括号。(c/c++)

问答
有一个二叉树, 节点全部为整数,如何找到一个子树,它所有节点的和最大?要求编程序实现。

问答
用Java实现二叉树前序遍历、中序遍历和后序遍历。

个人资料
onemore
等级:8
文章:133篇
访问:11.8w
排名: 4
上一篇: 优酷【算法类】:笔试题目1(最全)
下一篇:优酷【算法类】:笔试题目3(最全)
猜你感兴趣的圈子:
优酷笔试面试圈
标签: 问答、spname、模板、字符串、spage、面试题
隐藏