Что я использую для реализации макс. "кучи" в Python?

Как уже упоминал yujinpan, вы можете использовать расширение select. Или просто установите флажок самостоятельно:

$scope.dtcolumns = [
  dtcolumnbuilder.newcolumn(null, '').renderWith(function(data, type, full)
     return ''
  }),
  dtcolumnbuilder.newcolumn("objectid", "id"),
  ...
]

Теперь вы можете связать делегированные обработчики событий с флажками через класс .check.


Используйте dtInstance, как объяснено здесь или в документах здесь (посмотрите внизу страницы ). Теперь вы можете сделать что-то вроде

$('#entry-grid').on('click', '.check', function() {
   var data = $scope.dtInstance.DataTable.row($(this).closest('tr')).data()
})

197
задан Daniel Stutzbach 16 October 2010 в 09:06
поделиться

3 ответа

В случае, если, если требуется получить самый большой элемент K с помощью макс. "кучи", можно сделать следующий прием:

nums= [3,2,1,5,6,4]
k = 2  #k being the kth largest element you want to get
heapq.heapify(nums) 
temp = heapq.nlargest(k, nums)
return temp[-1]
0
ответ дан 23 November 2019 в 05:13
поделиться

Если вы вставляете ключи, которые сопоставимы, но не похожи на int, вы потенциально можете переопределить для них операторы сравнения (т. Е. <= Стать> и> становится <=). В противном случае вы можете переопределить heapq._siftup в модуле heapq (в конце концов, это всего лишь код Python).

4
ответ дан 23 November 2019 в 05:13
поделиться

Самый простой способ - инвертировать значения ключей и использовать heapq. Например, превратите 1000.0 в -1000.0, а 5.0 в -5.0.

196
ответ дан 23 November 2019 в 05:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: