力扣算法习题——有多少小于当前数字的数字

2025-04-06 05:32:21

1、示例1如图示:

力扣算法习题——有多少小于当前数字的数字

2、示例2如图示:

力扣算法习题——有多少小于当前数字的数字

3、示例3如图示:

力扣算法习题——有多少小于当前数字的数字

4、提示如图示:

力扣算法习题——有多少小于当前数字的数字

5、解题思路:第一步先将所给数组按从小到大排序存入临时数组中。

6、在这步中需要注意的是:不能通过将原始数组直接赋值给临时数组,然后对临时调用sort方法。

7、原因:通过直接赋值后,两个变量所指向的内存地址相同,当对临时数组排序之后,原始数组中的数组中的数倌栗受绽据同时被排序。如图示。

力扣算法习题——有多少小于当前数字的数字

8、为了不影响原始数组中的墙绅褡孛数据,采用切片的方式赋值。经过切片后赋值的临时数组与原始数组不在指向同一个内存地址。如图示。

力扣算法习题——有多少小于当前数字的数字

9、第二部查询原数组中的数在排序后数组中的索引值即为所求结果。

10、此外当原始数组中若存在相同的数时,可以利用index方法巧妙解决。

11、由于通过index方法返回的索引下标为第一此出现的位置,故不用考虑数组中有重复的数。如图示。

力扣算法习题——有多少小于当前数字的数字

12、原始代码如图示。

力扣算法习题——有多少小于当前数字的数字

13、为了优化程序的运行时间,故采用列表推导。优化后的代码如图示。

力扣算法习题——有多少小于当前数字的数字

14、优化后的代码不仅更加简介,而且还提高了程序的运行速度。

15、提交记录比较,如图示:

力扣算法习题——有多少小于当前数字的数字
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢