我最近在做一个项目欧拉问题(即#31),它基本上是找出使用集合 {1,2,5,10,20,50,100,200} 的元素可以将总和为 200 的方法有多少。
我使用的想法是:求和 N 的方法数等于
(对 Nk 求和的方法数)*(对 k 求和的方法数),对 k 的所有可能值求和。
我意识到这种方法是错误的,即由于它创建了几个重复的计数。我试图调整公式以避免重复,但无济于事。我正在寻求堆栈溢出者的智慧:
我试着环顾四周,但很难找到"这个".但我似乎无法掌握这两者之间的区别
public class x{
int y = 0;
int z = 0;
x(int y, int z){
y = y;
z = z
}
}
Run Code Online (Sandbox Code Playgroud)
和
public class x{
int y = 0;
int z = 0;
x(int y, int z){
this.y = y;
this.z = z;
}
}
Run Code Online (Sandbox Code Playgroud) 我在玩两个以直接方式交互的视图控制器时遇到了一些麻烦:
homeViewController使用addTask按钮显示待办事项列表.addTask按钮将启动另一个viewController,作为用户填写的"表单".
然而,在打电话
self.dismissViewControllerAnimated(true, completion: nil);
Run Code Online (Sandbox Code Playgroud)
在呈现的视图控制器内部我返回到我的主页,但是它是空白的,除了可以看到故事板上的最高级别视图(即覆盖整个屏幕的视图)之外,似乎什么都看不见.
我的所有视图,场景等都在故事板中设置了自动布局.我已经浏览了Stack Overflow,这导致我玩自动调整大小的子视图参数,即:
self.view.autoresizesSubviews = false;
Run Code Online (Sandbox Code Playgroud)
无济于事.我要么修复自动调整大小参数错误(在错误的视图中,或者只是设置错误),或者有其他问题.
提前致谢
编辑:
我将VC呈现如下:
func initAddNewTaskController(){
let addNewTaskVC = self.storyboard?.instantiateViewControllerWithIdentifier("AddNewTaskViewController") as! AddNewTaskViewController;
self.presentViewController(addNewTaskVC, animated: true, completion: nil);
}
Run Code Online (Sandbox Code Playgroud)
EDIT2:
虽然我接受使用委托或解开segue确实可以规避我遇到的问题(如campbell_souped建议的那样),但当我解除导致空白屏幕的视图控制器时,我仍然不明白从根本上发生了什么.
我理解调用dismissViewControllerAnimated会传递给呈现视图控制器(在本例中是我的homeViewController).由于我不需要做任何解雇前或解雇后的配置,因此我认为(在我看来)代表的使用是不必要的.
我目前的想法是,出于某种原因,当我调用时
dismissViewControllerAnimated(true, completion:nil);
Run Code Online (Sandbox Code Playgroud)
在我的addNewTaskViewController中,它实际上是释放我的homeViewController.我希望有人可以告诉我关于我不理解视图控制器如何呈现/解除的确切含义.