本文主要是介绍给定整数数组,返回一个新数组,使得新数组的索引i中的每个元素都是原始数组中除i中的所有数字的乘积。Python实现。,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
原题如下:
首先,我们应该需要考虑的是,在数组中,怎么去除索引是i的数,所以我们可以有这样一个思路,就是将数组的所有数乘积获得一个总的乘积,然后我们遍历数组,除以下索引为i的数,这样我们就可以得到一个新的乘积数组。
第二种方法,就是我们可以遍历两次数组,用两次循环,第一次控制提出下标为i的元素,剩余的在内层循环里面做乘积运算,获取新的值,赋值给新的数组。
以下是我的代码,希望大佬有不同方法的评论出来。
第一种方法用python实现:
list1 = [3,2,1]
list2 =[]
for i in range(len(list1)):sum = 1for j in list1:sum*=jsum = sum//list1[i]list2.append(sum)
print(list2)
第二种方法python实现:
list1 = [3,2,1]
for i in list1:sum = 1for j in list1:if i != j:sum*=jlist2.append(sum)
print(list2)
其实这个题不难,主要是锻炼一下思维逻辑。欢迎大佬们指出问题,或者是有更好的方法请分享出来。
这篇关于给定整数数组,返回一个新数组,使得新数组的索引i中的每个元素都是原始数组中除i中的所有数字的乘积。Python实现。的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!