需求:验证用户权限
O(n):
参数:所有权限用户对象组,用户ID
返回:true[有权限],false[没有权限]
伪代码:
function isPower(Power[] powers, int userId) {
for each power in powers {
if (userId == power.id)
return true;
}
return false;
}
O(1):
参数:所有权限用户ID组[经过了排序],用户ID
返回:true[有权限],false[没有权限]
伪代码:
Arrays.sort(powerIds); //进行排序
function isPower(int[] powerIds, int userId) {
if (Arrays.binarySearch(powersIds, userId) > -1)
return true;
return false;
}
技巧:
一、待查找的集合进行排序
二、采用O(1)查找算法
thinking in algorithm,O(n)到O(1)的实例(一)
最新推荐文章于 2025-09-04 15:42:34 发布
