由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 问个程序题10个包子
相关主题
一道微软题Subset of size m Problem
问道看到的面试题贡献今天facebook电面 一道题
LinkedIn onsite一道题G onsite题目
google interview question请教一个题 string similarity
感觉这是一道经典题一道面试题(integer to binary string)
一个算法题目收到G家拒信,发面经
问一道面试题问道google面试题
这个题咋做?问个java hashcode的题
相关话题的讨论汇总
话题: string话题: dots话题: int话题: input
进入JobHunting版参与讨论
1 (共1页)
y*******o
发帖数: 6632
1
0123456789
如何产生所有如下string
012345678.9
.....
0.123456789
......
01234567.8.9
0123456.7.89
.......
0.1.2.3.4.5.6.7.8.9
java please
多谢
n*****5
发帖数: 984
2
跟subset类似吧
y*******o
发帖数: 6632
3
对所有subset

【在 n*****5 的大作中提到】
: 跟subset类似吧
l*********8
发帖数: 4642
4
输出顺序有要求吗?

【在 y*******o 的大作中提到】
: 对所有subset
y*******o
发帖数: 6632
5
没有
貌似用数字mask表示doc数组idx就可以,是吧?

【在 l*********8 的大作中提到】
: 输出顺序有要求吗?
m*****k
发帖数: 18
6
9个空位可放dot,用bitset可穷举所有可能的9-bits binary strings,对应each
binary string打印dot
这方法可以么?
U***A
发帖数: 849
7
只会C++
vector printDotStr(string s)
{
int len = s.length();
vector v;

for(int i=1; i<= len-1; i++)
{
for(int j=len-1; j>=i; j--)
{
int k = i;
string s1= s;
int jj = j;
while(k>0)
{
s1.insert(jj,1, '.');
jj = jj-1;
k--;
}
v.push_back(s1);
}
}
return v;
}
OUTPUT
012345678.9
01234567.89
0123456.789
012345.6789
01234.56789
0123.456789
012.3456789
01.23456789
0.123456789
01234567.8.9
0123456.7.89
012345.6.789
01234.5.6789
0123.4.56789
012.3.456789
01.2.3456789
0.1.23456789
0123456.7.8.9
012345.6.7.89
01234.5.6.789
0123.4.5.6789
012.3.4.56789
01.2.3.456789
0.1.2.3456789
012345.6.7.8.9
01234.5.6.7.89
0123.4.5.6.789
012.3.4.5.6789
01.2.3.4.56789
0.1.2.3.456789
01234.5.6.7.8.9
0123.4.5.6.7.89
012.3.4.5.6.789
01.2.3.4.5.6789
0.1.2.3.4.56789
0123.4.5.6.7.8.9
012.3.4.5.6.7.89
01.2.3.4.5.6.789
0.1.2.3.4.5.6789
012.3.4.5.6.7.8.9
01.2.3.4.5.6.7.89
0.1.2.3.4.5.6.789
01.2.3.4.5.6.7.8.9
0.1.2.3.4.5.6.7.89
0.1.2.3.4.5.6.7.8.9
y***n
发帖数: 1594
8
厉害。。
y*******o
发帖数: 6632
9
这个不对,我搞定java了
class GetString{
static int seedIdx=0;
String getResult() {
String seedStr=Integer.toBinaryString(seedIdx++);
int dotCount=0;
for(int i=0;i if(seedStr.charAt(i)=='1'){
result=result.substring(0, i+dotCount+1) + "." +
result.substring(i+dotCount+1, result.length());
++dotCount;
}
}
return result;
}
public static void main(String[] args){
while(seedIdx++<1000000){
getResult();
}
}
}
多谢大家

【在 U***A 的大作中提到】
: 只会C++
: vector printDotStr(string s)
: {
: int len = s.length();
: vector v;
:
: for(int i=1; i<= len-1; i++)
: {
: for(int j=len-1; j>=i; j--)
: {

m*****k
发帖数: 731
10
这个编译都不回过吧,result哪儿来的?
why 1000000?
这题本质上就是间隔位的powerset 嘛。

【在 y*******o 的大作中提到】
: 这个不对,我搞定java了
: class GetString{
: static int seedIdx=0;
: String getResult() {
: String seedStr=Integer.toBinaryString(seedIdx++);
: int dotCount=0;
: for(int i=0;i: if(seedStr.charAt(i)=='1'){
: result=result.substring(0, i+dotCount+1) + "." +
: result.substring(i+dotCount+1, result.length());

m*****k
发帖数: 731
11
public static void addDot(String input){
char[] dots = new char[input.length() - 1];
getDottedString(dots, 0, input);
}



private static void getDottedString(char[] dots, int i, String input) {
if(i==dots.length){
//merge dots with input and output
StringBuilder result = new StringBuilder();
for(int j=0; j result.append(input.charAt(j));
if(j result.append(dots[j]);
}
}
System.out.println(result.toString());
}
else{
dots[i]='\0';
getDottedString(dots, i+1, input);
dots[i]='.';
getDottedString(dots, i+1, input);
}
}
/******input = "01234"***/
0
1 (共1页)
进入JobHunting版参与讨论
相关主题
问个java hashcode的题感觉这是一道经典题
Exposed上一道string permutation的题一个算法题目
问个考古的题问一道面试题
问一个facebook的电面这个题咋做?
一道微软题Subset of size m Problem
问道看到的面试题贡献今天facebook电面 一道题
LinkedIn onsite一道题G onsite题目
google interview question请教一个题 string similarity
相关话题的讨论汇总
话题: string话题: dots话题: int话题: input