Algorithm
-
What 数字反转
-
How 一次循环进行乘10余10除10操作即可,值得注意的是会溢出,因为因为java的Integer.MAX_VAVLUE 2e31-1,MIN_VALUE -2e31,即在快要到边界的时候乘以10 便会出现溢出的问题。所以要加上判断条件,而且要注意要在循环中判断每次值,开始和结束时再判断是没用的。
-
Key Codes
class Solution {
public static void main(String []args){
Scanner in = new Scanner(System.in);
int x = in.nextInt();
int result = reverse(x);
System.out.println(result);
}
public static int reverse(int x){
int rev = 0;
while(x!=0)
{
if (rev != 0 && Integer.MAX_VALUE / rev < 10&& Integer.MAX_VALUE / rev > -10){
return 0;
}
rev = rev*10 + x%10;
x = x/10;
}
return rev;
}
}
Review
My Lessons from Interviewing 400+ Engineers Over Three Startups
-
What 招一个工程师的成本太高了:要筛选很多简历,给应聘者报销机票、旅馆,电话面试半小时到一小时(乘以一个工程师时薪),onsite 四轮、五轮,每轮一、两个全职员工花半小时到一小时+准备面试的时间+面试后做决策的时间(乘以时薪);招到人了,给猎头(或内部推荐的员工)赏金。
-
How 一般 onsite 每一轮的面试都是 1 on 1,一个面试官面试一个应聘者;文中提到两个面试官面试一个应聘者的实践:多个角度面试、减少偏见;一个主力面试,一个观察;训练新面试官。
Tip
-
What 在平常敲代码过程中偶尔会碰上函数名或者变量名或其他要改名的情况,但别的地方也可能调用到,牵一发而动全身
-
How 只需右击Refactor->Rename 修改一处其他出现过的地方也会被修改
Share
- 判空
- 转换
- 移除
- 替换
- 反转