2015年7月21日 星期二

20150721 一些學習紀錄

原本想用Github搭配來記錄學習過程和在leetcode&codeeval上的解題思路,但比想像中要麻煩,還是先用blogger記錄吧。

首先是如何在blogger內嵌程式碼,參考網站
C#:
  1. using System;
  2. public static void main()
  3. {
  4. System.Console.Write("Hello Blogger!!");
  5. System.Console.ReadKey();
  6. }
效果不錯,使用上也頗方便!

今天把class的封裝看完了,get/set也練習了不少。

至於LeetCode還是卡在valid Number,不斷出現沒想到的特例... 看來還是欠磨練阿!(1359/1481)
目前遇到的例子:
46.e3,應該也是合理的數字,46*10^3=46000,沒想到e也可以接在小數點後面而疏忽了。
C#
  1. public class Solution {
  2. public bool IsNumber(string s) {
  3. bool haveDigits = false, Key = false,sign=false;
  4. s = s.Trim();
  5. for (int i = 0; i < s.Length; i++)
  6. {
  7. if (char.IsDigit(s[i])) haveDigits = true;
  8. else
  9. {
  10. switch (s[i])
  11. {
  12. case 'e':
  13. if (!haveDigits || i + 1 == s.Length || Key) return false;
  14. Key = true;
  15. break;
  16. case '.':
  17. if (Key || (i + 1 == s.Length && !haveDigits)) return false;
  18. Key = true;
  19. break;
  20. case '+':
  21. if (haveDigits || sign||Key) return false;
  22. sign = true;
  23. break;
  24. case '-':
  25. if (haveDigits || sign||Key) return false;
  26. sign = true;
  27. break;
  28. default:
  29. return false;
  30. //break; 用不到的break
  31. }
  32. }
  33. }
  34. if (!haveDigits) return false;
  35. return true;
  36. }
  37. }

明日再戰!

沒有留言:

張貼留言