由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 一道code review的题目,欢迎讨论。
相关主题
请教一个API设计的面试题这个G题是DFS还是DP
贡献一个G家面试题请教一道老题目
请教个Amazo的题一道google的面试题.
几道微软面试题贴几道某大公司的面试题
请教:string pattern match 题问2道面试题
分享一道电面题,兼下午Onsite攒人品求祝福看个GOOG的题目
GF面经问个简单的金融公司的coding面试题
讨论一下FB的经典题read和readline吧这个check whether a binary tree is a BST or not
相关话题的讨论汇总
话题: accesscode话题: byte话题: boolean
进入JobHunting版参与讨论
1 (共1页)
I********y
发帖数: 228
1
面试遇到一code review的题目,blabla了一顿,回来后也不知道是不是改对了。
贴给大家看看。讨论下。我只是把expensive的pow改成了按位或。不知道有没有其他陷
阱。
e****e
发帖数: 418
2
public class PlaylistFlagsParametersWrapper {

private boolean[] accessArray = new boolean[8];

public PlaylistFlagsParametersWrapper(PlaylistFlagsParameters
playlistFlagsParameters) {
accessArray[0] = playlistFlagsParameters.access0;
accessArray[1] = playlistFlagsParameters.access1;
accessArray[2] = playlistFlagsParameters.access2;
accessArray[3] = playlistFlagsParameters.access3;
accessArray[4] = playlistFlagsParameters.access4;
accessArray[5] = playlistFlagsParameters.access5;
accessArray[6] = playlistFlagsParameters.access6;
accessArray[7] = playlistFlagsParameters.access7;
}
public boolean[] getAccessArray() {
return accessArray;
}

}
private static byte getHopperAccessCode(PlaylistFlagsParametersWrapper
wrapper) {
byte accessCode = 0;
boolean[] accessArray = wrapper.getAccessArray();
for ( int i = 0; i < accessArray.length; i++ ) {
if( accessArray[i] == true )
accessCode = ( byte ) ( accessCode | (byte)( 1 << i ) );
}

return accessCode;
}
y****n
发帖数: 743
3
作为Code Review源代码主要有两个问题:
- double有精度问题,最后转换成byte有可能会出错。
- Math.Pow是很费时的操作,尽量采用位运算和加减法。
a*********8
发帖数: 17
4
有其他要求不?没有的话直接hardcode也一样吧,不用pow了
int accessCode = 0;
if(playlistFlagsParameters.Access0)
accessCode = 1;
if(playlistFlagsParameters.Access1)
accessCode += 2;
if(playlistFlagsParameters.Access2)
accessCode += 4;
if(playlistFlagsParameters.Access3)
accessCode += 8;
if(playlistFlagsParameters.Access4)
accessCode += 16;
if(playlistFlagsParameters.Access5)
accessCode += 32;
if(playlistFlagsParameters.Access6)
accessCode += 64;
if(playlistFlagsParameters.Access7)
accessCode += 128;
return Convert.ToByte(accessCode);
f********d
发帖数: 51
5
private int getAccessCode(int idx, PlaylistFlagParameter parameter) {
Field field = PlaylistFlagParameter.class.getDeclaredMethod("Access" + idx
);
if (field.getBoolean(parameter)) {
return 1< }
return 0;
}
private static byte getHopperAccessCode(PlaylistFlagsParametersWrapper
wrapper) {
int bitflag = 0;
for (int i = 0; i < 8; i++) {
bitflag += getAccessCode(i, wrapper);
}
return (byte)bitflag;
}
J*********r
发帖数: 5921
6
学习了
1 (共1页)
进入JobHunting版参与讨论
相关主题
这个check whether a binary tree is a BST or not请教:string pattern match 题
C++ Q35: sizeof() (B20_20)分享一道电面题,兼下午Onsite攒人品求祝福
攒人品,google电话面经GF面经
这段代码啥意思?看了半天没看懂。郁闷中~~~~~~~~~~讨论一下FB的经典题read和readline吧
请教一个API设计的面试题这个G题是DFS还是DP
贡献一个G家面试题请教一道老题目
请教个Amazo的题一道google的面试题.
几道微软面试题贴几道某大公司的面试题
相关话题的讨论汇总
话题: accesscode话题: byte话题: boolean