原題:validate if a given string is numeric.
some examples:
"0"
=>true
" 0.1 "
=>true
"abc"
=>false
"1 a"
=>false
"2e10"
=>true
note: it is intended for the problem statement to be ambiguous. you should gather all requirements up front before implementing one.
update (2015-02-10):
the signature of thec++
function had been updated. if you still see your function signature accepts aconst char *
argument, please click the reload button to reset your code definition.
ennumber(string s)
else
} //當空格數等於字串長度的時候返回false
if (spacecount == s.length())
return false;
//判斷結尾的空格數
for (int i = s.length() - 1; i >= 0; i--)
} //擷取前後的空格
string substring (s, firstnum, lastnum - firstnum + 1);
//分析子串中的字元
for (int i = 0; i < substring.length(); i++)
//統計點的數量,記錄下最後乙個點的位置
else if (substring[i] == '.')
//統計e的數目,並且記錄下第乙個e的位置
else if (substring[i] == 'e')
}//當點的數量為1個,點事第乙個字元,且合法數字大於0且點在e前面時,當點的後面為0-9的數字時合法
if (pointcount == 1 && count > 0 && pointnum= '0'))
}//當點的數量為1,且不為第乙個字元時,前面的字元為0-9的數字,後面的字元為0-9的數字或e時合法
else if ((substring[pointnum - 1] >= '0'&&substring[pointnum - 1] <= '9') || (substring[pointnum + 1] >= '0'&&substring[pointnum + 1] <= '9')||substring[pointnum+1]=='e')
count++;
} //當e的數量為1,且合法字元大於0,且e即不在開頭也不在結尾,且e前面的字元不為符號時合法
if (ecount == 1 && count > 0&&enum > 0&&enum0&&substring[enum-1]!='-'&&substring[enum-1]!='+')
count++;
//當符號數量為0-2個時合法
if (negcount >= 0 && negcount <= 2)
count += negcount;
//當合法字元數等於子串的長度時,字串合法返回真,否則為假
if (count == substring.length())
return true;
else
return false;
}
刷題刷題 京東
題目 二維陣列為三列多行是陣列,每行存有三個數字,分別用ai,bi,ci標示 當某行的三個數字全都小於另一行的三個數字時,即 ai思路 對於第一列反向排序,保證第一列數從大到小排序。之後用後面的行依次與前面的行進行對比,將無效行的價值置為零。include include includelong l...
LeetCode刷題記錄 第605題(種花問題)
假設你有乙個很長的花壇,一部分地塊種植了花,另一部分卻沒有。可是,花卉不能種植在相鄰的地塊上,它們會爭奪水源,兩者都會死去。給定乙個花壇 表示為乙個陣列包含0和1,其中0表示沒種植花,1表示種植了花 和乙個數 n 能否在不打破種植規則的情況下種入 n 朵花?能則返回true,不能則返回false。示...
演算法 leetcode每日刷題筆記(兩數和問題)
示例 給定 nums 2,7,11,15 target 9 因為 nums 0 nums 1 2 7 9 所以返回 0,1 一 暴力法很簡單,遍歷每個元素 a,並查詢是否存在乙個值與target a 相等的目標元素。class solution throw newillegalargumentexc...