Redian新闻
>
ATT的data plan也享受折扣吗?
avatar
ATT的data plan也享受折扣吗?# PDA - 掌中宝
c*a
1
开始几道C++概念题:
1,abstract class 和 concrete class 的区别。
2,abstract class 可不可以有constructor
3,如果abstract class有constructor,这个constructor什么时候被call。
然后算法题:
1,写段程序,把sorted array放到binary search tree里面
2,写一个函数来计算x的n次方。
avatar
r*g
2
【 以下文字转载自 Military 讨论区 】
发信人: superphase (多情应笑我), 信区: Military
标 题: 老刑的摊子是怎么保住的
发信站: BBS 未名空间站 (Sun Aug 8 18:32:07 2010, 美东)
这里说的反动言论有郭德纲9次方吧
avatar
c*7
3
以前用学校的discount, ATT话费有15%折扣。后来买了iphone加了data plan,但data
部分没有 15%的折扣,不知道是data本身就不享受,还是必须要手工再加一次。
avatar
Z*Z
4
bless

【在 c*******a 的大作中提到】
: 开始几道C++概念题:
: 1,abstract class 和 concrete class 的区别。
: 2,abstract class 可不可以有constructor
: 3,如果abstract class有constructor,这个constructor什么时候被call。
: 然后算法题:
: 1,写段程序,把sorted array放到binary search tree里面
: 2,写一个函数来计算x的n次方。

avatar
m*y
5
反动言论 is out, 三俗 is in.
老刑, once again, is lagging behind.
avatar
g*g
6
每个学校/公司的可能会不同吧
直接打电话问att?

data

【在 c*********7 的大作中提到】
: 以前用学校的discount, ATT话费有15%折扣。后来买了iphone加了data plan,但data
: 部分没有 15%的折扣,不知道是data本身就不享受,还是必须要手工再加一次。

avatar
k*n
7
bless and good luck!
avatar
d*g
8
一般折扣是加给主line的voice plan,别的一概原价
有些比较好的会适用于全部,看具体条款

data

【在 c*********7 的大作中提到】
: 以前用学校的discount, ATT话费有15%折扣。后来买了iphone加了data plan,但data
: 部分没有 15%的折扣,不知道是data本身就不享受,还是必须要手工再加一次。

avatar
y*o
9
bless and thanks for sharing!!
avatar
v*s
10
$25以上的data打折
那种$15 200MB的不打折
avatar
c*t
11
请问楼主,把sorted array放到binary search tree里面,这个tree是必须balanced吗
avatar
c*a
12
面试的人到没说是不是哟啊balanced,但是言下的意思,就是要balanced的吧。
avatar
s*n
13
从中间开始不就是balanced了吗。

【在 c******t 的大作中提到】
: 请问楼主,把sorted array放到binary search tree里面,这个tree是必须balanced吗
: ?

avatar
s*g
14
bless~~楼主大好人,早日找到工作~~
avatar
K*g
15
“他看到我有不对的地方,还帮我改”
面试官帮你改bug,这绝对不是什么好事情啊。人家每挑一个,你离死亡就近一步,呵呵
另外,你最后一题,能详细点吗?考察的重点是recursive呢,还是溢出啊?

【在 c*******a 的大作中提到】
: 开始几道C++概念题:
: 1,abstract class 和 concrete class 的区别。
: 2,abstract class 可不可以有constructor
: 3,如果abstract class有constructor,这个constructor什么时候被call。
: 然后算法题:
: 1,写段程序,把sorted array放到binary search tree里面
: 2,写一个函数来计算x的n次方。

avatar
E*7
16
分析:为什么GOOGLE考这么"简单"的C++题 (写一个函数来计算x的n次方)?
答案1:
int XraisedtoN(int x, int N) {
int result = 1;
for (int i = 0; i < N; i++) {
result = result * x;
}
return result;
}
且慢, 如果 N = 0 或者 N = -2, 答案1死定了.
答案2:
int XraisedtoN(int x, int N) {
if (N == 0) // X^0 = 1
return 1;
int num;
bool negative;
if (N < 0) // handle X^-2 for example
{
num = -N;
negative = true;
}
else {
num = N;
negative = false;
}
int result = 1;
for (int i = 0; i < N; i++) {
result = result * x;
}
if (negative)
return (1/result);
else
return result;
}
且慢, 2^(-2)按照上述答案2计算为1/4永远为零(正解为
if (negative)
return (1.0)/result
答案2也死定了.看似简单的一道题,有很多陷阱(边界条件/特例).
我的答案是:
template // base type T, return type R
R XraisedtoN(T x, int N) {
if ( N == 0 )
return 1; // X^0 = 1
bool negative;
int num;
if ( N < 0 ) {
num = -N;
negative = true;
}
else {
num = N;
negative = false;
}
T result(1); // type is NOT R
for (int i = 0; i < num; i++)
result = result * x;
if (negative)
return (R)( R(1) / result );
else
return (R)result;
}
不过, 我得告诉面试官此解的前提条件是:
The base type T should be convertible to type R, either implicitly or explicitly
avatar
j*l
17
需要你用bit操作给出O(log N)的算法吧,也可用来结合矩阵乘来求Fibonacci数列

【在 E*****7 的大作中提到】
: 分析:为什么GOOGLE考这么"简单"的C++题 (写一个函数来计算x的n次方)?
: 答案1:
: int XraisedtoN(int x, int N) {
: int result = 1;
: for (int i = 0; i < N; i++) {
: result = result * x;
: }
: return result;
: }
: 且慢, 如果 N = 0 或者 N = -2, 答案1死定了.

avatar
j*l
18
除了时间复杂度外,至少还有处理溢出的问题,负指数的问题,结果用int存还是
double存的问题,能否用数组表示大整数作乘方的问题,各种test cases的问题,要考
虑得很多

【在 E*****7 的大作中提到】
: 分析:为什么GOOGLE考这么"简单"的C++题 (写一个函数来计算x的n次方)?
: 答案1:
: int XraisedtoN(int x, int N) {
: int result = 1;
: for (int i = 0; i < N; i++) {
: result = result * x;
: }
: return result;
: }
: 且慢, 如果 N = 0 或者 N = -2, 答案1死定了.

avatar
n*0
19
co-ask.

【在 c******t 的大作中提到】
: 请问楼主,把sorted array放到binary search tree里面,这个tree是必须balanced吗
: ?

avatar
d*e
20
balance应该是最简单的吧,直接由中间取就可以了。

【在 n*******0 的大作中提到】
: co-ask.
avatar
y*e
21
这个题目可以说是在考察边界条件,面试者应该跟考官沟通好。一般情况下 N
应该是非负的整数。若是遇到负的整数怎么办?抛出异常就可以了。若是
integer overflow怎么办?
最naive的解法是O(N)。此题也可以优化到O(logN),我曾经遇到这个面题,
当时想出来的解法如下:
计算X^1, X^2, X^4, X^8, ..., X^M, X^(2M),使得M <= N < 2M。
那么欲求的值就介于X^M和X^(2M)之间。然后用二分法确定 N 的位置。
从X^1, X^2, 涨到 X^M (M <= N < 2M),需要O(logN)的时间。然后在M
和2M里面确定N的位置,需要O(logN)的时间。整个解法还需要O(logN)的空间


【在 E*****7 的大作中提到】
: 分析:为什么GOOGLE考这么"简单"的C++题 (写一个函数来计算x的n次方)?
: 答案1:
: int XraisedtoN(int x, int N) {
: int result = 1;
: for (int i = 0; i < N; i++) {
: result = result * x;
: }
: return result;
: }
: 且慢, 如果 N = 0 或者 N = -2, 答案1死定了.

avatar
s*n
22
logN有用吗?unsigned long也是就是64位。

【在 y*********e 的大作中提到】
: 这个题目可以说是在考察边界条件,面试者应该跟考官沟通好。一般情况下 N
: 应该是非负的整数。若是遇到负的整数怎么办?抛出异常就可以了。若是
: integer overflow怎么办?
: 最naive的解法是O(N)。此题也可以优化到O(logN),我曾经遇到这个面题,
: 当时想出来的解法如下:
: 计算X^1, X^2, X^4, X^8, ..., X^M, X^(2M),使得M <= N < 2M。
: 那么欲求的值就介于X^M和X^(2M)之间。然后用二分法确定 N 的位置。
: 从X^1, X^2, 涨到 X^M (M <= N < 2M),需要O(logN)的时间。然后在M
: 和2M里面确定N的位置,需要O(logN)的时间。整个解法还需要O(logN)的空间
: 。

avatar
y*e
23
若是函数的输入不是int或者long long,是任意精确度的big_int呢?

【在 s*****n 的大作中提到】
: logN有用吗?unsigned long也是就是64位。
avatar
E*a
24
看到第二题,回忆起当年我还初来本版时见到一位大牛algorithmics的code,觉得很漂
亮简洁:while
里面3行code搞定,log复杂度。

【在 c*******a 的大作中提到】
: 开始几道C++概念题:
: 1,abstract class 和 concrete class 的区别。
: 2,abstract class 可不可以有constructor
: 3,如果abstract class有constructor,这个constructor什么时候被call。
: 然后算法题:
: 1,写段程序,把sorted array放到binary search tree里面
: 2,写一个函数来计算x的n次方。

avatar
r*s
25
是怎么写的呢?

【在 E********a 的大作中提到】
: 看到第二题,回忆起当年我还初来本版时见到一位大牛algorithmics的code,觉得很漂
: 亮简洁:while
: 里面3行code搞定,log复杂度。

avatar
j*4
26
x^n
Rev(x, n)
if n == 0
return 1
if n=1
return x
if n is even
return Rev(x*x, n/2)
else
return rev(x*x, n/2) * x

【在 c*******a 的大作中提到】
: 开始几道C++概念题:
: 1,abstract class 和 concrete class 的区别。
: 2,abstract class 可不可以有constructor
: 3,如果abstract class有constructor,这个constructor什么时候被call。
: 然后算法题:
: 1,写段程序,把sorted array放到binary search tree里面
: 2,写一个函数来计算x的n次方。

avatar
j*l
27
求a^n
result = 1;
p = a;
while (n)
{
if (n & 1)
result *= p;
n >>= 1;
p *= p;
}
return result;

【在 r*********s 的大作中提到】
: 是怎么写的呢?
avatar
j*l
28
二进制原理
比如a^5, 因为5的2二进制是101, 5 = 4 + 1 也就是拆为a^4 * a
比如a^6, 因为6的2二进制是110, 6 = 4 + 2 也就是拆为a^4 * a^2
比如a^7, 因为7的2二进制是111, 7 = 4 + 2 + 1 也就是拆为a^4 * a^2 * a
也就是对序列a, a^2, a^4, a^8, a^16, a^32, ...
决定乘不乘上某项就看指数二进制对应的位是不是1

【在 j**l 的大作中提到】
: 求a^n
: result = 1;
: p = a;
: while (n)
: {
: if (n & 1)
: result *= p;
: n >>= 1;
: p *= p;
: }

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。