我正在使用AngularJS,我希望得到的效果类似于它会产生的效果,假设它可以工作(它没有).
视图
<tr ng-repeat='person in people' ng-class='rowClass(person)'>
<td>.....info about person...</td>
<td>.....info about person...</td>
<td>.....info about person...</td>
</tr>
Run Code Online (Sandbox Code Playgroud)
调节器
$scope.rowClass = function(person){
...return some value based upon some property of person...
}
Run Code Online (Sandbox Code Playgroud)
我知道这个代码将无法工作,因为person是不可用的ng-class,因为这将只提供给每一行中的对象.代码是为了了解我正在尝试做的事情:即.我希望能够创建使用ng-repeat其类也基于条件的表行,该条件依赖于对行本身的作用域特征的访问,例如.person.我意识到我可以在列上添加ng-class,但这很无聊.有没有更好的想法?
只是寻找一些方向,我意识到给出的例子可以使用强力迭代来解决,但我正在寻找一个更优雅(即数学?)解决方案,它可以解决更大的例子(比如20x20或30x30) ).完全有可能无法做到这一点,而且我在提出一种不依赖蛮力的方法方面收效甚微......
我有一个矩阵(称之为A),它是nxn.我希望从矩阵A中选择一个子集(称之为B).子集将由n个元素组成,其中从每一行和A的每一列中取出一个且只有一个元素.输出应提供解决方案( B)使得构成B的元素的总和是给定这些约束的最大可能值(例如,在下面的示例中为25).如果找到B的多个实例(即,给出相同最大总和的不同解),则应选择具有最大最小元素的B的解.
B也可以是n×n的选择矩阵,但是只有n个期望的元素是非零的.
例如:如果A =
|5 4 3 2 1|
|4 3 2 1 5|
|3 2 1 5 4|
|2 1 5 4 3|
|1 5 4 3 2|
Run Code Online (Sandbox Code Playgroud)
=> B会的
|5 5 5 5 5|
Run Code Online (Sandbox Code Playgroud)
但是,如果A =
|5 4 3|
|4 3 2|
|3 2 1|
Run Code Online (Sandbox Code Playgroud)
B =
|3 3 3|
Run Code Online (Sandbox Code Playgroud)
因为B的最小元素是3,它大于
|5 3 1|
Run Code Online (Sandbox Code Playgroud)
要么
|4 4 1|
Run Code Online (Sandbox Code Playgroud)
这也是9的总和
algorithm matrix mathematical-optimization dynamic-programming