leetcode數學相關

2022-07-04 20:21:11 字數 1907 閱讀 9677

目錄給定兩個整數,分別表示分數的分子 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...