小编Bil*_*son的帖子

你能解释一下这个递归的"n选择k"代码吗?

以下是参数n和k的子集问题的代码.n代表学生总数,k代表我想要离开的学生数量.该代码试图给出从n个学生中拉出k个学生的可能组合的数量.

def subset(n, k): 
    if k == 0:
        return 1
    if n == k:
        return 1
    else:
        return subset(n-1, k-1) + subset(n-1, k)
Run Code Online (Sandbox Code Playgroud)

我理解递归调用的第一部分,但是我无法理解+子集(n-1,k)部分.任何人都可以向我解释这个吗?

python recursion

8
推荐指数
1
解决办法
2万
查看次数

如何将序列中的所有数字相乘(python)

就像我告诉程序一样n=10,我将如何让它返回10*9*8*7*6*5....1

我想了一会儿循环,但我觉得我搞砸了某个地方,因为它没有总结序列中的所有数字.

我目前的代码看起来像这样

def product(n):
  i=n
  a=n-1
  while a>0:
    return i * a
    b=i * a
    a=a-1
    i=i-1
Run Code Online (Sandbox Code Playgroud)

有没有更好的方法可以不使用递归?抱歉这个令人难以置信的初学者问题,但我正在努力教自己如何编码.你必须从某个地方开始!

谢谢!

python numbers sequence

4
推荐指数
1
解决办法
1万
查看次数

Java中的对象数组是否具有默认值?

如果我构建:

Object[][] guy = new Object[5][4];
Run Code Online (Sandbox Code Playgroud)

我的数组中的斑点有默认值吗?他们是空的吗?

有没有办法为数组中的每个点分配默认值?

java arrays

4
推荐指数
2
解决办法
9344
查看次数

__repr__ vs repr

这两种方法有区别吗?

例如,

from datetime import date
today = date(2012, 10, 13)
repr(today)
'datetime.date(2012, 10, 13);

today.__repr__()
'datetime.date(2012, 10, 13)'
Run Code Online (Sandbox Code Playgroud)

他们似乎做了同样的事情,但为什么有人想要在常规报告中使用后者呢?

python repr

3
推荐指数
1
解决办法
1230
查看次数

O(n)空间复杂度究竟意味着什么,它的效率如何?

我对O(n)在太空中的含义有了高度的了解.对于具有输入n的算法而言,这意味着某些内容,此算法分配的内存中的附加存储将与n成比例增加.

因此,如果您有一个算法将数字n作为输入,并创建一个大小为2n的数组并填充它将全部为0,则时间复杂度为O(n),空间复杂度为O(n)因为您是创建一个相对于输入大小的数组(附加存储).这种理解是否正确?

其次,O(n)的空间复杂度有多糟糕?像快速排序这样的流行排序算法具有O(n)的最差情况空间复杂度,因此对于任意长数据的排序,O(n)空间复杂度是否可能具有可怕的影响?如果是这样,对于为什么或如何有任何直觉?

sorting algorithm time-complexity space-complexity data-structures

2
推荐指数
1
解决办法
6034
查看次数

检查数字是否以5结尾?

我正在尝试定义一个带有2个参数的函数,将它们相加,如果两个参数之和以5结尾,则报告为2.如果它不以5结尾,则返回8.

有任何想法吗?

我正在考虑做一个if语句,但我很困惑我将如何检查一个数字是否以5结尾(或者是5).

感谢您的帮助,尝试自学如何编程是如此困难但又如此有益:)

python

1
推荐指数
2
解决办法
5574
查看次数