js版本水杯10 7 3

2021-10-01 08:30:43 字數 1795 閱讀 5841

/*群裡發的小學二年級題目,花了乙個半小時才寫出來,

[ [10,0,0], [3,7,0], [3,4,3], [6,4,0], [6,1,3],

[9,1,0], [9,0,1], [2,7,1], [2,5,3], [5,5,0] ]*/

//把b陣列i的水倒入j,如果i沒水或者j滿了返回undefinde,否則返回新b陣列

function

f(b,i,j)

}var fromto=[[

0,1]

,[1,

0],[

2,0]

,[0,

2],[

1,2]

,[2,

1]]let big=

10let offset=

2let needsize=big/

2var m=

[big,needsize+offset,needsize-offset]

var a=

[big,0,

0]var ways=

var waysstr=

json

.stringify

(a)var way=

way.

push

(a)ways.

push

(way)

dovar prev=way[way.length-1]

for(

let ft in fromto)}}

}while

(prev[0]

!=needsize||prev[1]

!=needsize)

console.

log(way)

方法2:

//把b陣列i的水倒入j,如果i沒水或者j滿了返回undefinde,否則返回新b陣列

//用字串為key的map減少空間消耗,不用map可以考慮用陣列,用hash函式把陣列換算成integer作陣列的索引

function

f(b,i,j)

return b

}var fromto=[[

0,1]

,[1,

0],[

2,0]

,[0,

2],[

1,2]

,[2,

1]]let big=

10let offset=

2let needsize=big/

2var m=

[big,needsize+offset,needsize-offset]

var a=

[big,0,

0]var ways=

var queue=

[a]var res=

false

ways[

json

.stringify

(a)]

=false

while

(!res)

ways[s_nextway]

=s_way

if(nextway[0]

==needsize&&nextway[1]

==needsize)

queue.

push

(nextway)

console.

log(nextway,needsize)}}

console.

log(ways)

while

(res)

動畫js版本

動畫 1 css樣式提供運動 2 js提供的運動 過渡的屬性 transition 從一種情況到另一種情況叫過渡 transition 變化的屬性 attr transition 花費的時間 time transition 變化的速度 linear transition delay 延遲 向後推遲多...

氣泡排序之js版本

氣泡排序算的上是最最最基本的東西了 氣泡排序演算法的原理如下 比較相鄰的元素。如果第乙個比第二個大,就交換他們兩個。對每一對相鄰元素做同樣的工作,從開始第一對到結尾的最後一對。在這一點,最後的元素應該會是最大的數。針對所有的元素重複以上的步驟,除了最後乙個。持續每次對越來越少的元素重複上面的步驟,直...

js比較版本號

在實際的開發工作中我們會對專案前後的版本號進行對比,從而進行快取的更新。下面我們就使用js對標準的版本號進行比較大小。實現乙個方法,用於比較兩個版本號 version1 version2 如果version1 version2,返回1 如果version1 version2,返回 1,其他情況返回0...