/*群裡發的小學二年級題目,花了乙個半小時才寫出來,
[ [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...