SplPriorityQueueというPHP標準ライブラリクラスのinsertというメソッドの処理内容を見たいと思い、ソースを見ましたが以下の様にメソッドの処理内容が記載されておらず困っております。(insert時のキューの優先度の設定を自分で設定する方法がわからないため、同メソッドの処理を見ようとしています)
https://github.com/php/php-src/blob/5b01c4863fe9e4bc2702b2bbf66d292d23001a18/ext/spl/spl_heap.stub.php#L10
PHP
1class SplPriorityQueue implements Iterator, Countable 2{ 3~ 4~ 5 /** @return bool */ 6 public function insert(mixed $value, mixed $priority) {} 7~ 8~
これについて以下の質問にご回答いただけないでしょうか。
①どこに実際のメソッドの処理が記載されているのでしょうか?
②なぜ上記のソース箇所にはメソッドの中身がないのでしょうか?
よろしくお願い致します。
追記------------------------------------------------------------------------------------
SplPriorityQueueを使ってやりたいことは以下のようなものです。優先度付きキューを使わない方法もあると思いますが、優先度付きキューを使って解決したいです。
[[1,1,0,0,0],
[1,1,1,1,0],
[1,0,0,0,0],
[1,1,0,0,0],
[1,1,1,1,1]],
という各要素が配列の配列を与えられたら、
この各要素内の1の数を比較して、1が大きい順に順位をつけます。
1の数が同じ場合は、配列内のインデックス番号が大きい方が順位を上にしたいです。
その順位付けをSplPriorityQueueを使って実行したいです。
You are given an m x n binary matrix mat of 1's (representing soldiers) and 0's (representing civilians). The soldiers are positioned in front of the civilians. That is, all the 1's will appear to the left of all the 0's in each row.
A row i is weaker than a row j if one of the following is true:
The number of soldiers in row i is less than the number of soldiers in row j.
Both rows have the same number of soldiers and i < j.
Return the indices of the k weakest rows in the matrix ordered from weakest to strongest.Example 1:
Input: mat =
[[1,1,0,0,0],
[1,1,1,1,0],
[1,0,0,0,0],
[1,1,0,0,0],
[1,1,1,1,1]],
k = 3
Output: [2,0,3]
Explanation:
The number of soldiers in each row is:
- Row 0: 2
- Row 1: 4
- Row 2: 1
- Row 3: 2
- Row 4: 5
The rows ordered from weakest to strongest are [2,0,3,1,4].
Example 2:Input: mat =
[[1,0,0,0],
[1,1,1,1],
[1,0,0,0],
[1,0,0,0]],
k = 2
Output: [0,2]
Explanation:
The number of soldiers in each row is:
- Row 0: 1
- Row 1: 4
- Row 2: 1
- Row 3: 1
The rows ordered from weakest to strongest are [0,2,3,1].
Constraints:
m == mat.length
n == mat[i].length
2 <= n, m <= 100
1 <= k <= m
matrix[i][j] is either 0 or 1.
回答1件
あなたの回答
tips
プレビュー