笔试算法题-day09
题目:给定一个列表,以及k,现在需要求解列表中每两个元素的乘积之和,每个元素只参与一次计算,且用于计算的两个元素的差值要小于k?
样例:输入:l=[1,2,3,4],k=2;输出:res=4*3+2*1=14;
解题思路:贪心策略+模拟,先对l进行排序,然后从后往前遍历,每次遇到满足条件(l[i]-l[j])<k,计算两个的乘积并将两个元素对应的idx设置为false,不可再次访问,最后返回res即可。
样例:输入:l=[1,2,3,4],k=2;输出:res=4*3+2*1=14;
解题思路:贪心策略+模拟,先对l进行排序,然后从后往前遍历,每次遇到满足条件(l[i]-l[j])<k,计算两个的乘积并将两个元素对应的idx设置为false,不可再次访问,最后返回res即可。
全部评论
相关推荐
06-18 15:00
青海民族大学 Java 点赞 评论 收藏
分享
点赞 评论 收藏
分享
点赞 评论 收藏
分享
点赞 评论 收藏
分享