1. 程式人生 > >Weekly 1

Weekly 1

Algorithm

1.Reverse Integer

  • 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

StringUtils工具類常用方法彙總1

  • 判空
  • 轉換
  • 移除
  • 替換
  • 反轉