力扣算法习题——有多少小于当前数字的数字
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。
阅读量:58
阅读量:94
阅读量:82
阅读量:54
阅读量:93