數學相關演算法

2022-07-11 08:39:14 字數 1735 閱讀 4728

將整數反轉

//

示例 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) *listnode

sum1, sum2 := 0, 0

for i := 1; l1.next != nil; i *= 10

sum1 = l1.val +i

}for i := 1; l2.next != nil; i*=10

sum2 = l2.val + i*10

}sum := sum1 +sum2head := &listnode

cur :=head

for ; sum > 0; sum /= 10

cur =cur.next

}return

head

}

或者:

func addtwonums(l1, l2 *listnode) *listnode

cur :=list

value, n := 0, 0

for l1 != nil && l2 !=nil

cur =cur.next

l1 =l1.next

l2 =l2.next

}if l1 == nil && l2 !=nil

cur =cur.next

l2 =l2.next

}if l2 == nil && l1 !=nil

cur =cur.next

l1 =l1.next

}return

list.next

}

//

【leetcode-隨機數】用 rand7() 實現 rand10()

func rand10() int

for b > 5

if a & 0x1 == 1

return

5 +b

}

//

優化後func rand10() int

return a % 10 + 1

//a%10取餘後為[1,9]

}// 反過來rand5 實現rand3

func rand3() int

return a

}

//

萬能公式 randx 實現 rand7:

func randy() int

return a%y + 1

}

//

隨機演算法:從m個數中等概率取出n個數,要求演算法複雜度為o(n)

//每次隨機取出乙個數,之後將該數放置到陣列的末尾去,這樣下次取隨機數的時候,只從1到目標集合個數-1個中隨機抽取

func randnum(a int, k int) int

return

result

}

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...

leetcode數學相關

目錄給定兩個整數,分別表示分數的分子 numerator 和分母 denominator,以字串形式返回小數。如果小數部分為迴圈小數,則將迴圈的部分括在括號內。輸入 numerator 2,denominator 3 輸出 0.6 思路 返回res.tostring 分母 分子為0的情況 if de...

unity 數學相關

1.四元數是什麼?主要作用什麼?對尤拉角的優點是什麼?答 所謂四元數,就是把4個實數組合起來的東西。4個元素中,乙個是實部,其餘3個是虛部 作用 四元數用於表示旋轉 優點 1 能進行增量旋轉 2 避免萬向鎖 3 給定方位的表達方式有兩種,互為負 尤拉角有無數種表達方式 四元數不會有尤拉角存在的 gi...