アルゴリズムのインタビューの質問

1.重複排除配列

配列[7、8、3、5、1、2、4、3、1]、差分 "重複除外" 及び "降順出力" と書き込む方法がある "通貨フォーマットが" 期待される結果:「8754321」

 

CONST ARR = [7,8、3、5、1、2、4、3、1 ]。
ユニークせ = [... 新しいセット(ARR)を]。ソート((A、B)=> A- B)
させ、A = unique.map((項目、指数)=> {
 場合(インデックス%3 === !0 &&インデックス== 0 ){
 戻り項目+ '' 
} 
戻り項目
}))(逆方向(加入。。 '' 
はconsole.log();

2.非同期シリアルロード

配列があります。Const IMGS = [ 'URL1'、 'URL2'、 'URL3'、...];

の効果を実感してください:

// 1)回调函数实现
関数loadImage(IMGS){ 
  CONST IMG = 新しいイメージ()。
  constのURL = imgs.shift();
  もし(URL){ 
    img.src = URL。
    img.onload = 関数(){
       場合(imgs.length> 0 
      loadImage(IMGS)
    } 
  } 
} 
// 2)非同期のawait-約束实现
関数loadImage(URL){
   戻り 、新たな約束((決意、リジェクト)=> { 
    constのIMG = 新しい画像(); 
    img.src = URL; 
    img.onload = 関数(){ 
      解決()
    } 
  })
} 
非同期関数loadImages(){
   )IMGSのURLを聞かせ({ 
    のawait loadImage(URL)。
  } 
}

3.配列トラバーサル

画像アレイの画像に応じてキューをロードする(注:次のリロードをロードした後)
検索マトリクスを完了するための効率的なアルゴリズムを書く、行列は次の特性があります。
1)行列内の数字の各列がソートされ、そして増加は左から右。
2)大規模よりもライン上の各ラインの最初の番号の最後の桁

//例:

[= ARRてみましょう
  [2、4、8、9]
  [10、13、15、21]、
  [23、31、33、51]
]
関数findValue(NUM){ 
  CONST maxOfArr = arr.map(項目=>項目[item.length - 1 ])。
  innerIndexましょう = 0を{(maxOfArrのIせ)
    にconsole.log(I)
    であれば(NUM <= I){ 
      innerIndex = maxOfArr.indexOf(I)。
      休憩; 
    } 
  } 
  リターン !!(ARR [innerIndex] .find(項目=>アイテム=== NUM))
} 
はconsole.log(findValue( 21))。

 

 

おすすめ

転載: www.cnblogs.com/lyraLee/p/12077127.html