Redian新闻
>
等着煮饭空,吃了一磅樱桃
avatar
等着煮饭空,吃了一磅樱桃# PhotoGear - 摄影器材
c*f
1
一个组全都是阿三。答得都不好,应该是挂了。看他们好像没有什么兴趣,没有电面就
给了on site,估计是给绿卡打广告
1. c
char* p = "hello";
char* q = "hello";
问是否p和q的值一样。
一样 而且“hello”的值不能被修改
2. C 和C++怎样在main函数之前print东西。
C可以用__attribute__( GNU C?), C++ 可以用class的onstructor,在main以前定
义一个global的class。
3. 编程题,输入一个整数x,输出y,要求y恰好比x大,并且数字只由3和5组成。
例如:in out
5 33
325 333
3556 5333
大家觉得题目算难么 还是我实在太菜了。。3有什么好的思路吗?
avatar
p*y
2
没有黑她的意思,只是恨HD。但是美国这边全是HD,皮肤看起来都很好,难道电视也有
类似PS的东西?
avatar
n*s
3
牙有点要被酸倒。。。
avatar
k*r
4
3:
从尾巴往前找3变5,
1) 如果找不到在前面加3,后面都变3;
2)如果找到了,变5,后面也都变成3.
avatar
g*i
5
看个不hd的也是这样,估计画的妆还不够厚
avatar
b*6
6
会不会上火?
avatar
c*f
7
思路我有一点。。阿三们直接拿了个电脑来让我现场敲。。有些情况考虑的不周全,阿
三test的时候就跪了。

【在 k****r 的大作中提到】
: 3:
: 从尾巴往前找3变5,
: 1) 如果找不到在前面加3,后面都变3;
: 2)如果找到了,变5,后面也都变成3.

avatar
S*P
8
手的确不好看
avatar
K*t
9
樱桃不是上火的吧~~~我也刚吃了几颗~~~
avatar
c*f
10
能不能写个pseudo code?看看具体是怎么样的
avatar
p*1
11
re 满头小(big)疙瘩!!!

【在 p*********y 的大作中提到】
: 没有黑她的意思,只是恨HD。但是美国这边全是HD,皮肤看起来都很好,难道电视也有
: 类似PS的东西?

avatar
a*a
12
上周拿了一袋,checkout的时候12刀,哭了

【在 K******t 的大作中提到】
: 樱桃不是上火的吧~~~我也刚吃了几颗~~~
avatar
C*7
13
抱歉之前考虑不全。这样行不,从左侧开始,找到第一个不是3或5的,分三种可能:
(1)小于3就变3
(2)等于4就变5
(3)大于5的话,向左侧找3,找到变成5;如果左侧全是5,就加一位3。
然后右侧全补成3结束。
如果没找到不是3或5的,从最右端向左找3变5,同(3)。

【在 c*******f 的大作中提到】
: 能不能写个pseudo code?看看具体是怎么样的
avatar
n*o
14
想起来HD刚普及那会儿,据说对AV产业产生了巨大的冲击……因为对全身皮肤要求都好
高啊……
avatar
K*t
15
多大一袋呀。。。。@————@

【在 a***a 的大作中提到】
: 上周拿了一袋,checkout的时候12刀,哭了
avatar
c*f
16
对 应该是这样。现场编的时候没有考虑到第一位之后大于5的情况。虽然后面想到了
但是前面用的是把结果直接放在一个int里,改起来不好改。如果用个数组存结果的每
一位应该会好一点。
一般面试会让现场敲代码,然后compile,在test的么。

【在 C*7 的大作中提到】
: 抱歉之前考虑不全。这样行不,从左侧开始,找到第一个不是3或5的,分三种可能:
: (1)小于3就变3
: (2)等于4就变5
: (3)大于5的话,向左侧找3,找到变成5;如果左侧全是5,就加一位3。
: 然后右侧全补成3结束。
: 如果没找到不是3或5的,从最右端向左找3变5,同(3)。

avatar
E*T
17
唉。。。现在这些HD 电视,高级镜头啊啥的。。。统统伤不起
avatar
x*c
18
我最喜欢吃的东西,可惜贵得很

【在 a***a 的大作中提到】
: 上周拿了一袋,checkout的时候12刀,哭了
avatar
C*7
19
是啊,int操作万一发现问题很难改。先转成string好些。电面大多要编译测试,
onsite很少见

【在 c*******f 的大作中提到】
: 对 应该是这样。现场编的时候没有考虑到第一位之后大于5的情况。虽然后面想到了
: 但是前面用的是把结果直接放在一个int里,改起来不好改。如果用个数组存结果的每
: 一位应该会好一点。
: 一般面试会让现场敲代码,然后compile,在test的么。

avatar
D*a
20
她的脸和脖子明显不是一个色,脖子比脸黑好多。妆画得不好,脖子上忘了打粉。

【在 g***i 的大作中提到】
: 看个不hd的也是这样,估计画的妆还不够厚
avatar
n*s
21
多大一袋?我从costco买,那种浅色的,3lbs才9块。。。你那一大袋。。。

【在 a***a 的大作中提到】
: 上周拿了一袋,checkout的时候12刀,哭了
avatar
S*t
22
楼主还没刷lc?
这题在lc上也就顶多easy吧

【在 c*******f 的大作中提到】
: 能不能写个pseudo code?看看具体是怎么样的
avatar
i*h
23
她的手是不好看,手指不直,小指太粗,皮肤还好吧,也就额头长了几个豆。
avatar
x*c
24
4刀多一磅
也就3磅多,不大

【在 K******t 的大作中提到】
: 多大一袋呀。。。。@————@
avatar
x*4
25
按照你的解法,325 得出的结果是 533, 而不是333

【在 C*7 的大作中提到】
: 抱歉之前考虑不全。这样行不,从左侧开始,找到第一个不是3或5的,分三种可能:
: (1)小于3就变3
: (2)等于4就变5
: (3)大于5的话,向左侧找3,找到变成5;如果左侧全是5,就加一位3。
: 然后右侧全补成3结束。
: 如果没找到不是3或5的,从最右端向左找3变5,同(3)。

avatar
f*j
26
长痘痘而已哇。。。拍戏很辛苦的。。啊

【在 p*********y 的大作中提到】
: 没有黑她的意思,只是恨HD。但是美国这边全是HD,皮肤看起来都很好,难道电视也有
: 类似PS的东西?

avatar
b*e
27

今天只吃了一点点而已,哎。

【在 n*****s 的大作中提到】
: 牙有点要被酸倒。。。
avatar
C*7
28
第一个非3或5的是2,按(1)变成3,然后后面全补3结束了

【在 x*******4 的大作中提到】
: 按照你的解法,325 得出的结果是 533, 而不是333
avatar
v*n
29
她自己也说了,没办法,因为要将就其他演员的档期,所以要赶戏,经常几个通宵不睡
觉的拍,所以长痘很厉害,连化妆都盖不住
avatar
K*t
30
我也从克斯克买的。。。7快

【在 n*****s 的大作中提到】
: 多大一袋?我从costco买,那种浅色的,3lbs才9块。。。你那一大袋。。。
avatar
j*j
31
这个题目可以从高位到低位,逐个确定位的value,每个位只能是3或者5,如果是小于
33333。。。,那么就输出33333.。。。如果小于35555.。。, 那么确定最高位位是3
,否则这个位就是5。然后记录下来,再推下一个。
public static int largerInteger(int num) {
int digits = 1;
int d = 1;
int upper = 5; // for value boundaries.
int lower = 3;
while (num / d >= 10) {
digits++;
d *= 10;
upper = upper * 10 + 5;
lower = lower * 10 + 3;
}
if (num >= upper) return lower + 3 * d * 10;
if (num < lower) return lower;

int curV = 0;
for (int i = digits; i > 0; i++) { //digit by digit.
curV *= 10;
lower -= 3 * d;
upper -= 5 * d;


if ((curV + 3) * d + lower > num) break; // result is found;
else if ((curV + 3) * d + upper > num) curV += 3; // if so, digit is
3;
else curV += 5; // every digit, maximum digit is 5;

d /= 10;
}
return (curV + 3) * d + lower;
}
avatar
M*e
32
明星也是普通人,不要期望太高
avatar
K*t
33
好贵呀。。。你和anoia什么关系。。。我问他为什么是你来回答。。。。

【在 x****c 的大作中提到】
: 4刀多一磅
: 也就3磅多,不大

avatar
g*e
34
可不可看做leetcode plus 1的变体呢?好像编程会简便一些:
int plus_one_35(int val) {
long long temp = 0;
int carry = 1;
if (val < 0) {
cout << 0;
return 0;
}
while(val > 0 || carry) {
int dig = val % 10;
if (dig + carry <= 3) {
dig = 3;
carry = 0;
} else if (dig + carry <= 5) {
dig = 5;
carry = 0;
} else {
dig = 3;
carry = 1;
}
temp *= 10;
temp += dig;
val /= 10;
}
// revert the dig
long long result = 0;
while(temp > 0) {
result *= 10;
result += temp % 10;
temp /= 10;
}
if (result > numeric_limits::max()) return 0;
return result;
}

3

【在 j**j 的大作中提到】
: 这个题目可以从高位到低位,逐个确定位的value,每个位只能是3或者5,如果是小于
: 33333。。。,那么就输出33333.。。。如果小于35555.。。, 那么确定最高位位是3
: ,否则这个位就是5。然后记录下来,再推下一个。
: public static int largerInteger(int num) {
: int digits = 1;
: int d = 1;
: int upper = 5; // for value boundaries.
: int lower = 3;
: while (num / d >= 10) {
: digits++;

avatar
x*c
35
他是我朋友的同学。。。
我瞎猜的。

【在 K******t 的大作中提到】
: 好贵呀。。。你和anoia什么关系。。。我问他为什么是你来回答。。。。
avatar
l*s
36
private static long nextNum(long num){
StringBuilder sb = new StringBuilder(num.ToString());
int first3 = -1, firstOther = -1;
for(int i = 0; i < sb.Length && firstOther == -1; i++)
if(sb[i] != '3' && sb[i] != '5') firstOther = i;
else if(first3 == -1 && sb[i] == '3') first3 = i;
if(firstOther != -1 && sb[firstOther] < '5')
if(sb[first3 = firstOther] < '3') sb[firstOther] = '3';
else sb[firstOther] = '5';
else if(first3 != -1) sb[first3] = '5';
else sb.Append('0');
for(int i = first3 + 1; i < sb.Length; i++) sb[i] = '3';
return Convert.ToInt64(sb.ToString());
}
avatar
K*t
37
噢~~~~~~~~~~~

【在 x****c 的大作中提到】
: 他是我朋友的同学。。。
: 我瞎猜的。

avatar
j*j
38
我最开始也是这么想的,也是可以做的,只是这样从低位到高位,前面确定的位数可能
会被重置为3.
比如:32532,前面确定了533后,因为后来2<3,确定的5又要变成3了。最后的结果又变
成了33333,而不是33533.

【在 g*******e 的大作中提到】
: 可不可看做leetcode plus 1的变体呢?好像编程会简便一些:
: int plus_one_35(int val) {
: long long temp = 0;
: int carry = 1;
: if (val < 0) {
: cout << 0;
: return 0;
: }
: while(val > 0 || carry) {
: int dig = val % 10;

avatar
v*a
39
糯糯是名人
比你出道早多了

【在 K******t 的大作中提到】
: 噢~~~~~~~~~~~
avatar
g*e
40
嗯,你是对的。
如果沿着plus1的思路,一旦有一个数字升级,就需要回头重置已经生成的数
字为3,需要加上以下代码:
if (newdig > dig && has5) {
int newtemp = 0;
while(temp > 0) {
newtemp *= 10;
newtemp += 3;
temp /= 10;
}
temp = newtemp;
has5 = false;
}
代码就比较难看了。

【在 j**j 的大作中提到】
: 我最开始也是这么想的,也是可以做的,只是这样从低位到高位,前面确定的位数可能
: 会被重置为3.
: 比如:32532,前面确定了533后,因为后来2<3,确定的5又要变成3了。最后的结果又变
: 成了33333,而不是33533.

avatar
K*t
41
lol我本来就是新人~~~~~

【在 v***a 的大作中提到】
: 糯糯是名人
: 比你出道早多了

avatar
t*n
42
这题可以从右往左(低位到高位)做。需要用一个carry_on标志 http://ideone.com/GU0odW
有一点比较tricky,一开始carry_on的初始值要设成true
我很好奇如果是一个可变的字符集,应该怎么做
avatar
K*t
43
哦`~~对了~~~~我也没有出道~~~我只是来灌水而已~~~

【在 v***a 的大作中提到】
: 糯糯是名人
: 比你出道早多了

avatar
g*3
44
step1: 找到由3和5构成的数字区间,
比如input 35, 那么区间 [33, 35, 53,55, 333],
比如input 250, 那么区间就是[333,335,353,355,533,535,553,555,3333];
step2: 在这个区间里面二分查找next large number,这个leetcode上有原体
avatar
n*s
45
镀金樱桃?la的应该只比我们这便宜

【在 x****c 的大作中提到】
: 4刀多一磅
: 也就3磅多,不大

avatar
g*e
46
有什么好方法生成区间吗?以333为例,+1 3进位到5这样直到找到一个数字大于目标数
字?
第二步是不是就是二分找upper bound?

【在 g******3 的大作中提到】
: step1: 找到由3和5构成的数字区间,
: 比如input 35, 那么区间 [33, 35, 53,55, 333],
: 比如input 250, 那么区间就是[333,335,353,355,533,535,553,555,3333];
: step2: 在这个区间里面二分查找next large number,这个leetcode上有原体

avatar
x*c
47
我这的就这个价

【在 n*****s 的大作中提到】
: 镀金樱桃?la的应该只比我们这便宜
avatar
j*j
48
:) 产生的方法可以这样,是个loop:
0
3 + 0
5 + 0
30 + 3 + 0
30 + 5 + 0
50 + 3 + 0
50 + 5 + 0
...
loop level by level.
avatar
m*7
49
偷笑

【在 n*****s 的大作中提到】
: 多大一袋?我从costco买,那种浅色的,3lbs才9块。。。你那一大袋。。。
avatar
g*3
50
这个数据是这样的格式
3 5
33 35 53 55
333 335 353 533 555
...
当前层的数据是由上一层的数据产生,所以我用了一个queue来存放上一层的数据,然
后pop queue里面的数据来拼接
vector getCollect(int n){ //n is the length of the input
vector result;
queue que;
que.push(3);
que.push(5);
for(int i = 0; i < n-1;i++){
int sz = que.size();
for(int j = 0; j < sz; j++){
int num = que.front();
que.pop();
que.push(num*10 + 3);
que.push(num*10 + 5);
}
}
int lastNum = que.front();
que.push(lastNum*10 + 3);
while(!que.empty()){
result.push_back(que.front());
que.pop();
}
return result;
}
avatar
d*u
51
costco 红的7快,白的9块,白的要甜多了
avatar
d*m
52
我不是码工,出于兴趣,最近在学点python。什么 java, C++,还完全不懂。
看了这个帖子,感觉有点思路,但上面几个回帖几乎看不懂。我写了点代码,好像结果
也是对的。想麻烦各位专家给看看我python的代码。
基本思路是先把整数变成字符串列表,再建一个新列表,然后从右往左比较,比较结束
后再把数列变成整数输出。
这样做有没有什么问题?
import copy
def dct(number):
listNumber = list(str(number))
output = copy.copy(listNumber)
for i in range(len(listNumber)-1,-1,-1):
if int(listNumber[i]) == 3 or int(listNumber[i]) == 5:
output[i] = int(listNumber[i])
else:
for l in range(i,len(listNumber)):
output[l] = 3
if int(listNumber[i]) > 5:
listNumber[i-1] = int(listNumber[i-1]) + 1
elif int(listNumber[i]) == 4:
output[i] = 5
if int(listNumber[0]) > 5:
output.insert(0,3)
outputNumber = 0
for i in range(len(output)):
outputNumber = outputNumber * 10 + output[i]
return outputNumber
avatar
f*s
53
re
wholefoods就是这个价
walmart便宜,才2刀多一磅

【在 x****c 的大作中提到】
: 4刀多一磅
: 也就3磅多,不大

avatar
m*n
54
上班时候看到的,断断续续想了小半天,结果花了二十几分钟才写好测好。
unsigned transform(unsigned ori)
{
unsigned temp = ori;
unsigned transformed = 0;
unsigned power = 1;
int carry = 1; //make sure the transformed number is strictly larger
while (temp) {
int dig = temp%10;
if (dig+carry<3) {
transformed = 3*power+(power-1)/3;
//tranform lower to all '3'
carry = 0;
} else if (dig+carry<5&&dig+carry>3) {
transformed = 5*power+(power-1)/3;
//tranform lower to all '3'
carry = 0;
} else if (dig+carry >5) {
transformed = 3*power+(power-1)/3;
carry = 1;
} else {
transformed += (dig+carry)*power;
carry = 0;
}

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