1到10之間的數字通過運算得到24

2021-10-06 02:34:19 字數 811 閱讀 5559

面試碰到的一道演算法題,當時時間不夠沒做出來,現在整理了一下。

以下是暴力法的解,最簡潔明瞭,最好理解

// 暴力法

function get24

(arr)

let r =

;for

(let a =

0; a < arr.length; a++))

}return r;

}(arr)

;// 2 得到運算子的全部情況

const operators = function getoperators

(operators, len))}

else)}

)}return r;}(

['+'

,'-'

,'*'

,'/'],

4);// 3 得到括號的全部情況

const expression =

["`($ $ $) $ $ $ $`"

,"`($ $ $) $ ($ $ $)`"

,"`$ $ ($ $ $ $ $)`"

,"`($ $ $ $ $) $ $`"

,"`$ $ ($ $ $) $ $`"

,"`($ $ ($ $ $)) $ $`"];

for(let x =

0; x < numslist.length; x++)}

}}}let input =[1

,2,3

,4]console.

log(

get24

(input)

)

請輸出1到400之間所有數字中包含的1的個數

請輸出1到400之間所有數字中包含的1的個數,比如數字1中包含了乙個1,數字11中包含了兩個1,數字20中不包含1,數字1到21中共包含了13個1。function getcount 輸出 180 console.log getcount 答案一這個答案比較經典,效能也算是很不錯的了 const s...

統計所有0到n之間所有含有數字1的數字和

實現函式int func unsigned n 其中n為正整數,返回從1到n 包含1和n 之間出現的1的個數,如 func 13 6,func 9 1。注意 不能將整數轉化為字串 分析 這個問題可以分解為 對於乙個有digit位的數,可以統計其每個位上出現1的次數,遍歷每個位,累計的次數即為出現1的...

統計1到n之間的所有數字中1出現的個數

實 現函式int func unsigned n 其中n為正整數,返回從1到n 包含1和n 之間出現的1的個數,如 func 13 6,func 9 1。注意 不能將整數轉化為字串 這是網上以為兄弟的分析 分析 對於數n,可以把它分成三段,高位段most,當前位cur,低位段least,每一段分別為...