Lv.2プリンタ


🤖質問する


👍 2022年1月29日

マイコード

<script>
  function solution(priorities, location) {
      let answer = 0;
      let prioritiesArr = priorities.map((v,i) => [i,v]);
      let sequence = [];

      while (true) {
          const currPrint = prioritiesArr.shift();
          if (prioritiesArr.some((value) => value[1] > currPrint[1])) prioritiesArr.push(currPrint);
          else {
              sequence.push(currPrint);
              for (let j=0; j< sequence.length; j++) {
                  if (sequence[j][0] === location) {
                      return answer = j+1;
                  }
              }
          }
      } 
  }
</script>

より効率的なコード

<script>
    function solution(priorities, location) {
      var answer = 0;
      const pri = priorities.map((a,i) => [a,i]);
      const arr = [];


      for(let i = 0; i < pri.length ;){
          const temp = pri.shift();
          if( pri.some((a)=> temp[0]< a[0])) pri.push(temp);
          else {
              arr.push(temp);
              if(arr[answer][1] == location) break;
              else answer ++;
          }
       }
       return answer+1;
    }
</script>
解きほぐすように解けない時間を超えてもう少しで半分に割れそうな問題.🙂
  • 私が要求したドキュメントの固有のインデックス値を知る必要がありますが、どのように処理すればいいか分かりません.だから、挿入するのは難しいです.地図を書くとこんなに簡単になります.
  • 、また真ん中に書いてあるところもありますが、本来はドキュメントの最大値を求めてマッチングを求めたいと思っていましたが、2次元配列では、特定の列の最大値を求めるにはどうすればいいのでしょうか...悩んでいるときに『あっこれはダメだ』と思って質問して助けてもらったのですが….
  • の下のコードから、最初のelse部分のコードとは大きく異なることがわかります.sequenceは空の配列から始まり、要素ごとに1つ加算されるので、response変数は分離して1を増加します.私は順番のために回ってくるのではなく効率的ではありません...