我有一个看起来非常简单的解决方案:
void determineStringUnique(std::string str) {
std::sort(str.begin(), str.end()); //sort characters
std::unique(str.begin(), str.end()); //remove duplicate characters in a row (why we did std::sort right before)
std::cout << str.size() << std::endl;
}
Run Code Online (Sandbox Code Playgroud)
(我意识到这个功能尚未完成,我只是在调查std :: unique之后的大小.剩下要做的就是检查新大小是否等于原始大小 - 如果是这样,那么只有独特的人物).
但是当我打印出str.size()时,它总是等于原始字符串长度.经过一些调试后,我发现std :: unique删除了预期的(重复的)字符,但字符串中总有一些地方添加了一些字符,等等,我无法弄清楚原因.
这是一个示例输入:"abcdefghijklmnopabc".在std :: sort之后,我得到了"aabbccdefghijklmnop",正如所料.但是在std :: unique之后,我得到了"abcdefghijklmnopnop",这意味着它最后添加了"nop",但是在开头时确实摆脱了额外的a,b和c.
如果有人对此有答案,我们将不胜感激.谢谢!
有没有可能:
public abstract void someMethod();
...
public void someMethod() {
// ...
}
Run Code Online (Sandbox Code Playgroud)
在同一个班?或者定义必须在子类中?
还有如何解决"预期"; 在'{'令牌?之前的代码(来自xcode 3.2.3)
- (void)viewDidUnload {
self.cheatName = nil;
self.description = nil;
}
Run Code Online (Sandbox Code Playgroud)
这两个错误都在第一行
- (void)viewDidLoad {
[super viewDidLoad];
[self.titleLabel setText:self.title];
[self.descriptionLabel setText:self.description];
float textHeight = [MLUtils calculateHeightOfTextFromWidth:self.description : descriptionLabel.font :descriptionLabel.frame.size.width :UILineBreakModeWordWrap];
CGRect frame = descriptionLabel.frame;
frame.size.height = textHeight;
descriptionLabel.frame = frame;
CGSize contentSize = descriptionScrollView.contentSize;
contentSize.height = textHeight;
descriptionScrollView.contentSize = contentSize;
- (void)viewDidUnload {
self.cheatName = nil;
self.description = nil;
}
Run Code Online (Sandbox Code Playgroud)