- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我几乎完成了我的 Bulls and Cows 项目,但是如果我输入一个单词或一系列重复字母或数字的数字,代码的“cow”部分就会出错。例如:考虑以下内容
Enter something that you want someone to guess: cool
Time to guess! The code is of size 4. book
COWS: 0 BULLS: 2
ozzo
COWS: 4 BULLS: 0
可以看到,输入“ozzo”后,牛的值应该是2,而不是4。如何在不更改整个代码的情况下解决此问题?
for (size_t i = 0; i != startg.getSize(); ++i){
if (guess[i] == origWord[i]){
bullCtr++;
} else {
for (size_t j = 0; j != startg.getSize(); ++j){
if (origWord[i] == guess[j]){
cowCtr++;
}
}
}
}
应用修复后的代码:
for (size_t i = 0; i != startg.getSize(); ++i){
if (guess[i] == origWord[i]){
bullCtr++;
} else {
for (size_t j = 0; j != startg.getSize(); ++j){
if (origWord[i] == guess[j]){
origWord[i] = 'X';
cowCtr++;
}
}
}
origWord = origWordcpy;
}
最佳答案
你的奶牛检查有问题。
为了方便起见(不完全是)我会这样做(我只是在谈论 else 语句):
for(unsigned int j = 0 ; j != startg.getSize() ; j++)
{
if(origWord[i] == guess[j])
{
origWord[i] = 1; //Just assigning a certain value there to mark that we've already did something with it
cowCtr++;
}
}
这应该可以完成工作。
编辑:
你显然应该有一个临时字符串而不是 origWord
因为改变它会影响外循环的下一次迭代(得到猜测并再次比较)——我只是给你展示了方法。
关于c++ - Bulls & Cows 项目 : cow checking,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30280309/
我几乎完成了我的 Bulls and Cows 项目,但是如果我输入一个单词或一系列重复字母或数字的数字,代码的“cow”部分就会出错。例如:考虑以下内容 Enter something that y
我有一条记录,see this question了解背景信息。 TDigits = AnsiString; //Should be `= array of NativeUInt`, but stri
我正在研究 swift 中写时复制的工作原理。有点被 isKnownUniquelyReferenced 弄糊涂了documentation .特别是本节: If the instance passe
我正在尝试删除字符串中的所有括号。没有考虑太难,我只是做了一个简单的正则表达式替换(即问题不是特别是关于摆脱任意级别的嵌套括号,但如果你愿意,请随时在评论中提出更好的方法). use regex::R
我是trying to implement a flexible type system at runtime in Rust .到目前为止,这是我所拥有的: use std::borrow::Cow
我正在尝试实现以下代码,它从 Cow 的切片中删除前缀的。 fn remove_prefix(v: &mut [Cow], prefix: &str) { for t in v.iter_mu
我设计了一个写时复制基类。该类包含共享数据模型/CoW 模型中所有子项所需的默认数据集。 派生类也有仅属于它们的数据,但应该是该派生类的其他实例之间的 CoW。 我正在寻找一种简洁的方法来实现它。如果
在 Linux 中,无论何时 fork 一个进程,父进程的内存映射都会被克隆到子进程中。实际上,出于性能原因,页面被设置为写时复制——最初它们是共享的,如果两个进程之一写入其中一个,它们将随后被克隆(
任何人都可以指出 Copy-on-write (COW) 的线程安全实现吗?成语? this site 上的示例代码看起来不错——它是线程安全的吗? 如果有人想知道我将用它做什么:我有一个 Foo具有
我理解解决方案的 DP 部分,但我不理解“追溯”部分,以及如何找到 i 设置位的 j 个长度数字的数量有助于解决问题?解决方案的粗体部分让我感到困惑。 问题: Being a secret compu
当父进程fork子进程时(linux下),我想一开始就把父进程中的一些内存页复制到子进程的地址空间,也就是说,不需要等待复制写时(牛)。有什么机制支持这个吗?谢谢:-) 最佳答案 我不知道有任何接口(
我早就知道 GCC 使用 COW(写时复制)来处理 std::string ,导致无法使用 std::string在多线程程序中。但据我所知,C++11 禁止使用 COW 的实现,因为线程现在由标准定
我有这个设置: use std::borrow::Cow; fn encode_text>>(text: T) {} fn encode_texts>>(texts: &[T]) { for
移动 API 以使用时 Cow ,必须更换: some_func(arg1, arg2, arg3); 与: some_func(Cow::from(&arg1[..]), Cow::from(&ar
我想将 SmallVec 与 Cow 一起使用。我试过这个: use smallvec::SmallVec; use std::borrow::Cow; fn main() { let s =
我在一个容器中使用 boost::scoped_array,我想进行写时复制,但我担心 scoped_array 无法工作。哪个 boost::smart_ptr 容器最接近 cow-safe 作用域
在linux中,因为浪费,我知道是COW实现的。但是,在书中说,当子进程在 fork() 之后立即调用 exec() 时,地址空间永远不会被复制。但我认为如果 child 使用 exec(),这意味着
当我 fork 我的进程时,如何防止 GC 引发写时复制?由于我在我的程序中遇到了一些内存问题(我的 60 核 0.5Tb 机器上的内存不足,即使是相当小的任务),我最近一直在分析 Ruby 中垃圾收
我正在寻找一个用 C 编写的键 -> 值字典库,它支持理论上无限数量的廉价交易。 我想在内存中有一个字典,有数百个线程开始事务,可能修改字典,结束(完成)事务或可能中止事务。只有 50% 的时间这些线
当我 fork 我的进程时,如何防止 GC 引发写时复制?由于我在我的程序中遇到了一些内存问题(我的 60 核 0.5Tb 机器上的内存不足,即使是相当小的任务),我最近一直在分析 Ruby 中垃圾收
我是一名优秀的程序员,十分优秀!