- 博客(4)
- 收藏
- 关注
原创 算法分析与设计——财产分配
John不幸病逝,他生前希望将他的财产尽可能均分给他的两个孩子。John的财产是一张张价值不同的魔卡,请你设计策略,将其财产发给他的两个孩子并且两个孩子的财产总和的差值最小,并进行分析。
2024-11-16 10:52:23
1198
原创 算法分析与设计——序列去重
我们可以利用集合的特性(不允许重复),将元素逐一插入集合,然后再将集合转为序列返回。这种做法的优点是操作简单,缺点是在建立集合的过程中,序列原有的顺序被修改为升序序列,破坏了序列本身的属性。给定一个可能包含重复元素的序列(例如:数组或列表),目标是去重,返回一个新的序列,其中每个元素最多出现一次。设计算法实现蒋一个可能包含重复元素的序列去重,即使得每个元素最多出现一次,并分析算法。在序列中,输入可能包含各种数据类型。使用哈希表记录出现过的元素,遍历原始序列,只有在哈希表中不存在的元素才插入结果序列。
2024-11-05 19:03:18
965
原创 算法分析与设计——矩阵查找
的矩阵中查找一个元素,可以被等价为进行两次顺序线性表内的查找。因此,可以通过遍历矩阵,访问其中每一个元素,检查元素值是否与目标值相同。为了利用矩阵的这个特点,我们可以采用分治的思想,将矩阵分解为四个子矩阵,根据矩阵中间值的情况选择其中可能包含目标值的子矩阵,在各个子矩阵中递归查找目标元素。列的二维数组中,每一行都按照从左到右递增的顺序排列,每一列都按照从上到下递增的顺序排列。:查找结果,若查找成功返回元素索引,查找失败打印查找失败的信息。:查找结果,若查找成功返回元素索引,查找失败打印查找失败的信息。
2024-11-05 00:40:28
1347
原创 算法分析与设计——距中位数最近的k个数
快速选择算法:适合较小的数组或对随机性要求不高的场合,易于实现且在平均情况下效率高,但在最坏情况下性能较差。BFPRT算法:适用于需要稳定性能保证的场合,特别是在处理大型数据集时,其最坏情况下的时间复杂度保证为O(n),但实现相对复杂。
2024-11-05 00:17:30
842
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人