首先。我知道这个问题已经问了很多。它与codility网页的PermCheck课程有关。链接可以在这里找到:https://app.codility.com/programmers/lessons/4-counting_elements/perm_check/
我提出这个问题的原因很简单,它未能通过性能检查,说明以下内容:检测到的时间复杂度:O(N ** 2)。
如果您查看我的代码,则说明我使用的是HashSet,并且仅对数组进行一次递归迭代。因此,我无法理解时间复杂度O(N ^ 2)的来源。而且,我在答案中已经看到人们说他们使用了“ For”和“ HashSet”并获得了100%的收益。
是否还会考虑空间复杂性,但这是一个误导性错误?
def new
project = Project.find(params[:id]) # Assuming you are sending it
@interface = project.interfaces.build
end
def create
project = Project.find(params[:id]) # Assuming you are sending it
@interface = project.interfaces.build(interface_params)
if @interface.save
redirect_to project_interfaces_path
else
render :new
end
end