我正在寻找一种有效的方法来检测数组中唯一值的数量。
我目前的做法:
- 快速排序整数数组
- 然后运行循环来比较元素。
In code:
yearHolder := '';
for I := 0 to High(yearArray) do
begin
currYear := yearArray[i];
if (yearHolder <> currYear) then
begin
yearHolder := currYear;
Inc(uniqueYearNumber);
end;
end;
以下是 THashedStringList 的示例:
hl := THashedStringList.Create; // in Inifiles
try
hl.Sorted := True;
hl.Duplicates := dupIgnore; // ignores attempts to add duplicates
for i := 0 to High(yearArray) do
hl.Add(yearArray[i]);
uniqueYearCount := hl.Count;
finally
hl.Free;
end;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)