目錄給定兩個整數,分別表示分數的分子 numerator 和分母 denominator,以字串形式返回小數。如果小數部分為迴圈小數,則將迴圈的部分括在括號內。
輸入: numerator = 2, denominator = 3
輸出: "0.(6)"
思路:
返回res.tostring()
// 分母、分子為0的情況
if (denominator == 0) return "";
if (numerator == 0) return "0";
stringbuilder res = new stringbuilder();
// 結果是否為負數
// 取絕對值,方便處理
long num = numerator, den = denominator;
num = math.abs(num);
den = math.abs(den);
// 整數部分
long rem = (num % den) * 10;
if (rem == 0) return res.tostring();
// 負數部分
hashmapmap = new hashmap();
while (rem != 0)
map.put(rem, res.length());
rem = (rem % den) * 10;
}return res.tostring();
169次數大於一半才是眾數
思路:
int maj = 0, cnt = 0;
// 遍歷
for (int num : nums)
else if (cnt == 0)
else cnt--;
}
229超過n/3屬於眾數
思路
int m = 0, n = 0, cm = 0, cn = 0;
for (auto &a : nums)
cm = cn = 0;
for (auto &a : nums)
if (cm > nums.size() / 3) res.push_back(m);
if (cn > nums.size() / 3) res.push_back(n);
return res;
輸入: [1,2,3,4]
輸出: [24,12,8,6]
思路:題目不能用除法
注意邊界初始化record[0] = 1和right = 1,再根據例子列出左累乘[1,1,2,6]就可已解出
int n = nums.length;
int record = new int[n];
record[0] = 1;
for (int i = 1; i < n; i++)
int right = 1;
for (int i = n - 1; i >=0; i--)
return record;
if (x == 0) return 0;
double res = (double) x;
double last = 0.0;
while (res != last)
return (int) res;
f(x) = x2 - n
(f(x) - f(xi))/ (x - xi) = f'(xi)
求出xi+1 = g(x)即可,x表示上面res,f(x)表示上面的引數x
n > 0 && (n & (n-1)) == 0
Python數學相關
math包主要處理數學相關的運算。math包定義了兩個常數 math.e 自然常數e math.pi 圓周率pi math.ceil x 對x向上取整 math.floor x 對x向下取整 math.pow x,y 指數運算,得到x的y次方 math.log x 對數,預設基底為e。可以使用bas...
數學相關演算法
將整數反轉 示例 1 輸入 123 輸出 321 func reverse x int int return y 兩樹相加 輸入 2 4 3 5 6 4 輸出 7 0 8 原因 342 465 807 func addtwonumbers l1 listnode,l2 listnode listno...
unity 數學相關
1.四元數是什麼?主要作用什麼?對尤拉角的優點是什麼?答 所謂四元數,就是把4個實數組合起來的東西。4個元素中,乙個是實部,其餘3個是虛部 作用 四元數用於表示旋轉 優點 1 能進行增量旋轉 2 避免萬向鎖 3 給定方位的表達方式有兩種,互為負 尤拉角有無數種表達方式 四元數不會有尤拉角存在的 gi...