100个灯泡排成一排,第一轮将所有灯泡打开;第二轮每隔一个灯泡关掉一个,即排在偶数的灯泡被关掉,第三轮每隔两个灯泡,将开着的灯泡关掉,关掉的灯泡打开。依次类推,第100轮结束的时候,还有几盏灯泡亮着?
求出用1、2、5这三个数不同个数组合的和为100的组合个数。为了更好地理解题目的意思,下面给出几组可能的组合:100个1,0个2和0个5,它们的和为100;50个1,25个2,0个5的和也是100;50个1,20个2,2个5的和也为100。
有一个函数func1能返回0和1两个值,返回0和1的概率都是1/2,问怎么利用这个函数得到另一个函数func2,使func2也只能返回0和1,且返回0的概率为1/4,返回1的概率为3/4。
给定一个正整数n,求解出所有和为n的整数组合,要求组合按照递增方式展示,而且唯一。例如:4=1+1+1+1、1+1+2、1+3、2+2、4(4+0)。
10个房间里放着数量随机的金币。每个房间只能进入一次,并只能在一个房间中拿金币。一个人采取如下策略:前4个房间只看不拿。随后的房间只要看到比前4个房间都多的金币数,就拿。否则就拿最后一个房间的金币。编程计算这种策略拿到最多金币的概率。
找出两个字符串的最长公共子串,例如字符串“abccade”与字符串“dgcadde”的最长公共子串为“cad”。
编辑距离又称Levenshtein距离,是指两个字符串之间由一个转成另一个所需的最少编辑操作次数。许可的编辑操作包括将一个字符替换成另一个字符、插入一个字符、删除一个字符。请设计并实现一个算法来计算两个字符串的编辑距离,并计算其复杂度。在某些应用场景下,替换操作的代价比较高,假设替换操作的代价是插入和删除的两倍,算法该如何调整?
给定一个如下格式的字符串:(1,(2,3),(4,(5,6),7)),括号内的元素可以是数字,也可以是另一个括号,实现一个算法消除嵌套的括号,例如把上面的表达式变成(1,2,3,4,5,6,7),如果表达式有误则报错。
设计一个程序,当输入一个字符串时,要求输出这个字符串的所有排列。例如,输入字符串abc,要求输出由字符a、b、c所能排列出来的所有字符串:abc、acb、bac、bca、cba、cab。
在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请实现一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。