i****n 发帖数: 22 | 1 昨天刚面了,今天就收到据信。太快了。。。。
1. 1到n的数组中有重复的,确定是否有重复的,时间0(n),空间0(1)
2. 什么是封装
3. 什么是继承
4. 什么是virtual method
5. 一个立方体,用3种不同的颜色涂,每种颜色都得用。有多少种涂法
6. 将0101011100数组中的1是随机的,将这个数组的0变成1,1变成0。不能用if,
else
同胞面试,第五题有点难度,这个题把我搞乱了,现在是骑驴找马,好久没用那些排列组合了。。。 |
C*****n 发帖数: 1872 | 2 俺的答案:
1. bitmap
5. 3^6 - 3*(2^6) + 3
6. XOR 0xFFFFF
列组合了。。。
【在 i****n 的大作中提到】 : 昨天刚面了,今天就收到据信。太快了。。。。 : 1. 1到n的数组中有重复的,确定是否有重复的,时间0(n),空间0(1) : 2. 什么是封装 : 3. 什么是继承 : 4. 什么是virtual method : 5. 一个立方体,用3种不同的颜色涂,每种颜色都得用。有多少种涂法 : 6. 将0101011100数组中的1是随机的,将这个数组的0变成1,1变成0。不能用if, : else : 同胞面试,第五题有点难度,这个题把我搞乱了,现在是骑驴找马,好久没用那些排列组合了。。。
|
y*******g 发帖数: 6599 | 3 怎么感觉bloomberg就喜欢这种无聊题目
列组合了。。。
【在 i****n 的大作中提到】 : 昨天刚面了,今天就收到据信。太快了。。。。 : 1. 1到n的数组中有重复的,确定是否有重复的,时间0(n),空间0(1) : 2. 什么是封装 : 3. 什么是继承 : 4. 什么是virtual method : 5. 一个立方体,用3种不同的颜色涂,每种颜色都得用。有多少种涂法 : 6. 将0101011100数组中的1是随机的,将这个数组的0变成1,1变成0。不能用if, : else : 同胞面试,第五题有点难度,这个题把我搞乱了,现在是骑驴找马,好久没用那些排列组合了。。。
|
q*******d 发帖数: 2235 | 4
5. 3^6 - 3*(2^6) - 3 ?
【在 C*****n 的大作中提到】 : 俺的答案: : 1. bitmap : 5. 3^6 - 3*(2^6) + 3 : 6. XOR 0xFFFFF : : 列组合了。。。
|
C*****n 发帖数: 1872 | 5 第二项里面每个都有2个是单色的,总共6个,所以多减掉了3个
【在 q*******d 的大作中提到】 : : 5. 3^6 - 3*(2^6) - 3 ?
|
i****n 发帖数: 22 | 6 不能用 bitmap....
【在 C*****n 的大作中提到】 : 俺的答案: : 1. bitmap : 5. 3^6 - 3*(2^6) + 3 : 6. XOR 0xFFFFF : : 列组合了。。。
|
C*****n 发帖数: 1872 | 7 能把第一题描述的详细点吗?
1。。。n是数组下标?
里面的数有什么规定吗?
【在 i****n 的大作中提到】 : 不能用 bitmap....
|
q*******d 发帖数: 2235 | 8
恩。你是对的。
【在 C*****n 的大作中提到】 : 第二项里面每个都有2个是单色的,总共6个,所以多减掉了3个
|
g**y 发帖数: 122 | 9 question 1:
there should be an additional condition:
all numbers are between 0 to n-1
solution: go through the array, switch numbers to make array[n] = n
列组合了。。。
【在 i****n 的大作中提到】 : 昨天刚面了,今天就收到据信。太快了。。。。 : 1. 1到n的数组中有重复的,确定是否有重复的,时间0(n),空间0(1) : 2. 什么是封装 : 3. 什么是继承 : 4. 什么是virtual method : 5. 一个立方体,用3种不同的颜色涂,每种颜色都得用。有多少种涂法 : 6. 将0101011100数组中的1是随机的,将这个数组的0变成1,1变成0。不能用if, : else : 同胞面试,第五题有点难度,这个题把我搞乱了,现在是骑驴找马,好久没用那些排列组合了。。。
|
l**o 发帖数: 356 | 10 那个立方体如果换一个方向看得到的结果是不是算不同的? |
|
|
C*****n 发帖数: 1872 | 11 didn't get it
can you gvie more detail please?
【在 g**y 的大作中提到】 : question 1: : there should be an additional condition: : all numbers are between 0 to n-1 : solution: go through the array, switch numbers to make array[n] = n : : 列组合了。。。
|
b*******s 发帖数: 5216 | 12 我的理解
比如一个数组,所有元素范围从1到5
实际是1 2 5 4 2
遍历方法是
第一个元素是1,不动
第二个元素是2,不动
第三个是5,和第5个位置交换,现在第三个位置是2
发现比3小,那肯定有重复,失败了
不过这方法好像不是O(n)的 |
b*******s 发帖数: 5216 | 13 可以这样做
比如一个数组有5项,范围1到5
一个例子是1 2 5 5 2
因为最大数不超过10
第一个数字是1,则在第一个位置加10,此时第一个位置是11
第二个是2,则在第二个位置加10,此时第二个位置是12
第三个是5,则第五个位置是12
第四个还是5,则第五个位置是22,比20大了,说明重复 |
f***g 发帖数: 214 | 14 是O(n)没错
只是判断程序结束不止这一种情况
比如 1 2 5 4 4
【在 b*******s 的大作中提到】 : 我的理解 : 比如一个数组,所有元素范围从1到5 : 实际是1 2 5 4 2 : 遍历方法是 : 第一个元素是1,不动 : 第二个元素是2,不动 : 第三个是5,和第5个位置交换,现在第三个位置是2 : 发现比3小,那肯定有重复,失败了 : 不过这方法好像不是O(n)的
|
b*****e 发帖数: 474 | 15 这样的话,如果A[i]!=i,把 A[i] 换到 A[A[i]] 去,被换掉的X再接着去A[X],依次类
推,如果没重复的话终会回到A[i]。然后 i++ 。。。时间是 O(n) |
l*******o 发帖数: 791 | |
j********x 发帖数: 2330 | |
l*********r 发帖数: 674 | 18 这个应该是对的。
【在 b*****e 的大作中提到】 : 这样的话,如果A[i]!=i,把 A[i] 换到 A[A[i]] 去,被换掉的X再接着去A[X],依次类 : 推,如果没重复的话终会回到A[i]。然后 i++ 。。。时间是 O(n)
|
b*******s 发帖数: 5216 | |