脑客精讲(016):用5随机实现7随机及其扩展(强大的扩展内容哦)


jingjiang1
题目: 给你一个等概率随机产生1~5的随机函数getRandom1To5,除此之外你不能使用任何额外的随机机制,如何用getRandom1To5实现等概率随机产生1~7的随机函数。 进阶1:给你一个以p的概率产生0,以1-p的概率产生1的函数getRandom01P,除此之外你不能使用任何额外的随机...
题目: 给你一个等概率随机产生1~5的随机函数getRandom1To5,除此之外你不能使用任何额外的随机机制,如何用getRandom1To5实现等概率随机产生1~7的随机函数。 进阶1:给你一个以p的概率产生0...

脑客精讲(016):用5随机实现7随机及其扩展(强大的扩展内容哦)

jingjiang1
题目: 给你一个等概率随机产生1~5的随机函数getRandom1To5,除此之外你不能使用任何额外的随机机制,如何用getRandom1To5实现等概率随机产生1~7的随机函数。...
阅读全文 0

脑客精讲(015):找到无序数组中最小的K个数(很多书上的解释真错了!)


jingjiang1
题目: 给定一个无序的整型数组arr,找到其中最小的k个数。   说明: 对于O(N)的解法,几乎所有面试准备的书籍上,都没有细说或者解释有误。很明显,普通的partition过程是绝对做不到线性复杂度的! 解答: O(N*logK)的解法难度:尉 O(N)的解法难度:将 O(N*log...
题目: 给定一个无序的整型数组arr,找到其中最小的k个数。   说明: 对于O(N)的解法,几乎所有面试准备的书籍上,都没有细说或者解释有误。很明显,普通的partition过程是绝对做不到线...

脑客精讲(015):找到无序数组中最小的K个数(很多书上的解释真错了!)

jingjiang1
题目: 给定一个无序的整型数组arr,找到其中最小的k个数。   说明: 对于O(N)的解法,几乎所有面试准备的书籍上,都没有细说或者解释有误。很明显,普...
阅读全文 0

脑客精讲(014):判断字符串中是否所有字符都只出现过一次


jingjiang1
题目: 给定一个字符串str,判断字符串中是否所有字符都只出现过一次。 例如: str: “abc” 返回true str: “1231″ 返回false 如果字符串的长度为N,分别根据两种要求实现这个功能: 第一种实现:时间复杂度O(N) 第二种实现:额外空间复杂度O(1...
题目: 给定一个字符串str,判断字符串中是否所有字符都只出现过一次。 例如: str: “abc” 返回true str: “1231″ 返回false 如果字符串的长度为N,分别根据两种要求...

脑客精讲(014):判断字符串中是否所有字符都只出现过一次

jingjiang1
题目: 给定一个字符串str,判断字符串中是否所有字符都只出现过一次。 例如: str: “abc” 返回true str: “1231″ 返回false 如果字符...
阅读全文 1

脑客精讲(013):代表整数的字符串转成整数值


jingjiang1
题目: 如果把所有int型值打印出来的形式看成是一个范围。给定一个字符串str,如果str属于这个范围则把str转换成相对应的整数并返回;否则打印”can not convert!”,并返回0; 例子: str: “123″ 返回123 str: “023″ “can n...
题目: 如果把所有int型值打印出来的形式看成是一个范围。给定一个字符串str,如果str属于这个范围则把str转换成相对应的整数并返回;否则打印”can not convert!”,并返回0; 例...

脑客精讲(013):代表整数的字符串转成整数值

jingjiang1
题目: 如果把所有int型值打印出来的形式看成是一个范围。给定一个字符串str,如果str属于这个范围则把str转换成相对应的整数并返回;否则打印”can not...
阅读全文 0

脑客精讲(012):求0左边必有1的二进制字符串数量(世界首发)


jingjiang1
题目: 给定一个整数len,求长度为len且仅为为字符’0′与’1′组成的所有可能的字符串中,有多少字符串满足:如果出现’0′的位置,它的左边必有’1′。 例如: len = 1 所有可能的字符串:”1″和”0̸...
题目: 给定一个整数len,求长度为len且仅为为字符’0′与’1′组成的所有可能的字符串中,有多少字符串满足:如果出现’0′的位置,它的左边必有’1...

脑客精讲(012):求0左边必有1的二进制字符串数量(世界首发)

jingjiang1
题目: 给定一个整数len,求长度为len且仅为为字符’0′与’1′组成的所有可能的字符串中,有多少字符串满足:如果出现’0′...
阅读全文 0

脑客精讲(011):根据最长回文子序列求整体添加最少字符得到的回文串(世界首发)


jingjiang1
题目: 给定一个字符串str和str的最长回文子序列strLPS,返回字符串str在任意位置添加最少字符后,整体都是回文串的其中一种结果。 例如: str = “B1G2TY34I3OPX2S1″; strLPS = “123I321″; 返回:B1GS2TYXPO34I43OPXYT2SG1B 注意:也可以返...
题目: 给定一个字符串str和str的最长回文子序列strLPS,返回字符串str在任意位置添加最少字符后,整体都是回文串的其中一种结果。 例如: str = “B1G2TY34I3OPX2S1″; strLPS = ...

脑客精讲(011):根据最长回文子序列求整体添加最少字符得到的回文串(世界首发)

jingjiang1
题目: 给定一个字符串str和str的最长回文子序列strLPS,返回字符串str在任意位置添加最少字符后,整体都是回文串的其中一种结果。 例如: str = “B1G2...
阅读全文 0

脑客精讲(010):拼接所有字符串产生字典顺序最小的大字符串(世界首发)


jingjiang1
题目: 给定一个字符串类型的数组strArr,将数组中的所有字符串拼接起来可以组成一个大字符串,请找到一种拼接方式使得组成的大字符串在所有可能性中字典顺序最小。 例如: strArr = {“c”,”b”,”d”,”a”}; 拼接结果:...
题目: 给定一个字符串类型的数组strArr,将数组中的所有字符串拼接起来可以组成一个大字符串,请找到一种拼接方式使得组成的大字符串在所有可能性中字典顺序最小。 例如: strArr = {“...

脑客精讲(010):拼接所有字符串产生字典顺序最小的大字符串(世界首发)

jingjiang1
题目: 给定一个字符串类型的数组strArr,将数组中的所有字符串拼接起来可以组成一个大字符串,请找到一种拼接方式使得组成的大字符串在所有可能性中字典顺序...
阅读全文 0

脑客精讲(009):分别用递归与非递归的方式实现二叉树的先根、中根、后根遍历


jingjiang1
题目: 实现二叉树先根,中根和后根的遍历,分别用递归与非递归的方式实现。 二叉树先根,中根和后根遍历顺序实际可以有六种方式,在这里我们规定: 先根顺序:根,左,右 中根顺序:左,根,右 后根顺序:左,右,根   解答: 递归方式难度: 士 非递归方式难...
题目: 实现二叉树先根,中根和后根的遍历,分别用递归与非递归的方式实现。 二叉树先根,中根和后根遍历顺序实际可以有六种方式,在这里我们规定: 先根顺序:根,左,右 中根顺序:左,根...

脑客精讲(009):分别用递归与非递归的方式实现二叉树的先根、中根、后根遍历

jingjiang1
题目: 实现二叉树先根,中根和后根的遍历,分别用递归与非递归的方式实现。 二叉树先根,中根和后根遍历顺序实际可以有六种方式,在这里我们规定: 先根顺序...
阅读全文 0

脑客精讲(008):两个字符串间的最长公共子序列问题


jj008-1
题目: 给定两个字符串str1和str2,求两个字符串的最长公共子序列 例如: String str1 = “1A2C3D4B56″; String str2 = “B1D23CA45B6A”; 打印最长公共子序列:123456 要求:如果str1的长度为M,str2的长度为N,时间复杂度O(M*N),额外空...
题目: 给定两个字符串str1和str2,求两个字符串的最长公共子序列 例如: String str1 = “1A2C3D4B56″; String str2 = “B1D23CA45B6A”; 打印最长公共子序列:12...

脑客精讲(008):两个字符串间的最长公共子序列问题

jj008-1
题目: 给定两个字符串str1和str2,求两个字符串的最长公共子序列 例如: String str1 = “1A2C3D4B56″; String str2 = “B1D23CA45B6A&#...
阅读全文 0

脑客精讲(007):两个字符串间的最长公共子串问题


jj007-1
题目: 给定两个字符串str1和str2,求两个字符串的最长公共子串长度 要求:如果两个字符串的长度分别为N和M,时间复杂度要求O(M*N),额外空间复杂度要求O(Min(M,N)) 进阶:要求打印两个字符串的最长公共子串,时间与空间复杂度的要求不变 例如: String str1 = ...
题目: 给定两个字符串str1和str2,求两个字符串的最长公共子串长度 要求:如果两个字符串的长度分别为N和M,时间复杂度要求O(M*N),额外空间复杂度要求O(Min(M,N)) 进阶:要求打印两个字符...

脑客精讲(007):两个字符串间的最长公共子串问题

jj007-1
题目: 给定两个字符串str1和str2,求两个字符串的最长公共子串长度 要求:如果两个字符串的长度分别为N和M,时间复杂度要求O(M*N),额外空间复杂度要求O(Min...
阅读全文 0