由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - [a9面经] print x,y,z
相关主题
以前能过的leetcode 3sum, 现在fail了, 求助(时间超出了)问个G的题目
问求array中3个数和最接近k的解法LC的3sum谁有简洁代码?
facebook telephone interview from careercupamazon版上面试问题请教
一道google 经典题leetcode上的3sum
G onsite面经find sum of three number in array
国庆节 狗家面经3sum on LeetCode OJ
CS algorithm questiontriplets 题怎么做比较高效?
一FG家常见题问一道题目。。
相关话题的讨论汇总
话题: increment话题: inc话题: float话题: triplet话题: int
进入JobHunting版参与讨论
1 (共1页)
d********w
发帖数: 363
1
problem: Enumerate points that satisfy the following constraints in 3
dimensions:
1. x + y + z = 1
2. 0 <= x, y, z <= 1
3. x, y and z are multiples of a given increment between 0-1
Example:
increment = 0.5
x y z
-------------
0 0 1
0 .5 .5
0 1 0
.5 0 .5
.5 .5 0
1 0 0
C***U
发帖数: 2406
2
increment = 0.3怎么办?
x y z怎么取啊
举个例子?

【在 d********w 的大作中提到】
: problem: Enumerate points that satisfy the following constraints in 3
: dimensions:
: 1. x + y + z = 1
: 2. 0 <= x, y, z <= 1
: 3. x, y and z are multiples of a given increment between 0-1
: Example:
: increment = 0.5
: x y z
: -------------
: 0 0 1

p*****2
发帖数: 21240
3

就是两重循环吧?

【在 C***U 的大作中提到】
: increment = 0.3怎么办?
: x y z怎么取啊
: 举个例子?

d********w
发帖数: 363
4
哦,他当时说不会0。3的情况,肯定是可以凑到1的

【在 C***U 的大作中提到】
: increment = 0.3怎么办?
: x y z怎么取啊
: 举个例子?

d********w
发帖数: 363
5
嗯,我写个2层循环的,你写个递归的吧;)
set> sol(float increment)
{
if (increment <=0 )
return null;

int res = (int)(1/increment);
if (abs(res * increment -1 ) > 0.000001)
return null;

set> triplets;
vector triplet(3);
for (int i =0; i <= 1; i+= increment) {
int total_left = 1 - i;
triplet[0] = i;
for (int j=0; j<=total_left; j+=increment) {
triplet[1] = j;
triplet[2] = total_left - j;
triplets.insert(triplet);
}
}
return triplets;
}

【在 p*****2 的大作中提到】
:
: 就是两重循环吧?

d********w
发帖数: 363
6
扩展到n个数,
set> sol(float increment, int dim) {
set> triplets;
sol(1, increment, dim, new vector(), triplets);
return triplets;
}
void sol(float total, float increment, int dim, vector triplet, set<
vector> triplets) {
if (dim == 0) {
triplets.insert(triplet);
return ;
}
for (int i =0; i <= total; i+= increment) {
triplet.append(i);
sol(total - i, increment, dim -1, triplet, triplets);
triplet.delete(i);
}
}

【在 d********w 的大作中提到】
: 嗯,我写个2层循环的,你写个递归的吧;)
: set> sol(float increment)
: {
: if (increment <=0 )
: return null;
:
: int res = (int)(1/increment);
: if (abs(res * increment -1 ) > 0.000001)
: return null;
:

c*****e
发帖数: 737
7
C(n, 3)么,n = 1/increment,然后遍历一遍找出所有的解。这和increment为多少没
关系,只要有结果就输出就可以了。

【在 d********w 的大作中提到】
: problem: Enumerate points that satisfy the following constraints in 3
: dimensions:
: 1. x + y + z = 1
: 2. 0 <= x, y, z <= 1
: 3. x, y and z are multiples of a given increment between 0-1
: Example:
: increment = 0.5
: x y z
: -------------
: 0 0 1

C***U
发帖数: 2406
8
我也是这么想的 所以我才问0.3 因为必须得到一个整数才能这么做

【在 c*****e 的大作中提到】
: C(n, 3)么,n = 1/increment,然后遍历一遍找出所有的解。这和increment为多少没
: 关系,只要有结果就输出就可以了。

H***e
发帖数: 476
9
//assume inputs is friendly
public void incrementPrint(double inc){
for(int i = 0; i <= 1/inc; i++){
for(int j = 0; j <= 1/inc; j++){
double result = 1-i*inc -j*inc;
if(((int)(result/inc))*inc ==result && result>=0){
System.out.println(i*inc+" "+ j*inc+" " + (1-i*inc-j*inc
));
}
}
}
}

【在 d********w 的大作中提到】
: problem: Enumerate points that satisfy the following constraints in 3
: dimensions:
: 1. x + y + z = 1
: 2. 0 <= x, y, z <= 1
: 3. x, y and z are multiples of a given increment between 0-1
: Example:
: increment = 0.5
: x y z
: -------------
: 0 0 1

l*****a
发帖数: 14598
10
如果不允许用set,你如何去重

【在 d********w 的大作中提到】
: 嗯,我写个2层循环的,你写个递归的吧;)
: set> sol(float increment)
: {
: if (increment <=0 )
: return null;
:
: int res = (int)(1/increment);
: if (abs(res * increment -1 ) > 0.000001)
: return null;
:

l*****a
发帖数: 14598
11
这题不错
开始还以为跟数学挂钩
后来发现是个排列组合题目

【在 d********w 的大作中提到】
: problem: Enumerate points that satisfy the following constraints in 3
: dimensions:
: 1. x + y + z = 1
: 2. 0 <= x, y, z <= 1
: 3. x, y and z are multiples of a given increment between 0-1
: Example:
: increment = 0.5
: x y z
: -------------
: 0 0 1

1 (共1页)
进入JobHunting版参与讨论
相关主题
问一道题目。。G onsite面经
请问如何去除结果里面的重复国庆节 狗家面经
G onsite 面经CS algorithm question
问一道G onsite题一FG家常见题
以前能过的leetcode 3sum, 现在fail了, 求助(时间超出了)问个G的题目
问求array中3个数和最接近k的解法LC的3sum谁有简洁代码?
facebook telephone interview from careercupamazon版上面试问题请教
一道google 经典题leetcode上的3sum
相关话题的讨论汇总
话题: increment话题: inc话题: float话题: triplet话题: int