- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
1 到 n 之间的数字是多少(当 n 是一个非常大的数字时),如果你颠倒数字,你会得到一个不等于它本身的有效数字?
当您颠倒它们时仍然有效的有效数字:
[0,1,6,8,9] => [0,1,9,8,6]
翻转数字的例子:
989 => 686
981 => 186
主要问题的答案示例:如果您有 n = 10,答案是 3。这三个数字是:
我尝试过的是一种天真的方法:遍历数字 1..n
并检查每个数字,但是当 n
很大时,这种方法效率不高数。
最佳答案
尝试递归地生成并计算翻转后有效的所有可能数字(翻转后将是相同的数字)。
这是我的 C++ 实现:
int countValidFlippedNumber(int left, int right, string& str, const int n, bool isLessThanN) {
if(left > right) {
if(isLessThanN) {
return 1;
}
int x = atoi(str.c_str());
if(x <= n)
return 1;
return 0;
}
int count = 0;
if((left == 0 and left == right) or left > 0) {
str[left] = str[right] = '0';
count += countValidFlippedNumber(left + 1, right - 1, str, n, isLessThanN);
}
str[left] = str[right] = '1';
count += countValidFlippedNumber(left + 1, right - 1, str, n, isLessThanN);
str[left] = str[right] = '8';
count += countValidFlippedNumber(left + 1, right - 1, str, n, isLessThanN);
if(left < right) {
str[left] = '6'; str[right] = '9';
count += countValidFlippedNumber(left + 1, right - 1, str, n, isLessThanN);
swap(str[left], str[right]); // str[left] = '9'; str[right] = '6';
count += countValidFlippedNumber(left + 1, right - 1, str, n, isLessThanN);
}
return count;
}
int validFlippedNumber(int n) {
int len = to_string(n).length();
int result = 0;
string str;
for(int i = 1; i < len; i++) {
str.resize(i);
result += countValidFlippedNumber(0, i - 1, str, n, true);
}
str.resize(len);
result += countValidFlippedNumber(0, len - 1, str, n, false);
return result;
}
关于algorithm - 当你颠倒它们时它们仍然是有效数字的数字数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52155755/
我正在尝试将我的本地功能分支 rebase 到名为“集成”的远程分支上。 所以我做了- git checkout feature git rebase integration 但在我的冲突解决编辑器中
我想使用模板来反转 XML 的不同序列; 例如 :
我正在尝试使用 Django 1.8 构建我的博客,但是我不知道如何订购这些博客。看图 我想在底部显示“最早”,在顶部显示“最新”。这是我的 index.html {% extends 'layout
我正在使用 socket.io 并向客户端发送一条消息,其中包含应附加到 div 的数据: socket.on('new data', function(data){ $('#containe
如果我遗漏了明显的内容,我深表歉意...... 我正在使用 rgl 绘制 3d 曲面。我的代码是 library(rgl) dem1 = read.table(file="file.txt",skip
如何使用纯 CSS 反转 div 子元素的顺序? 例如: 我要 A B C D 显示为: D C B A 我在 JSfiddle 上创建了一个演示: http://
是否反转中的属性 到 削弱或以任何方式影响搜索引擎索引页面的能力? 谢谢:) 最佳答案 我们不可能知道。搜索引擎可能有错误。 但从 HTML 规范的角度来看,不,属性顺序不影响含义。 关于html
我正在使用 CABasicAnimation 绘制我在数组中使用 CAShapeLayer 的所有 UIBezierPaths CAShapeLayer *shapeLayer = [CAShapeL
我在我的 iPhone 应用程序中使用 core plot 1.0。一切正常,图表绘制完美,但我面临一个奇怪的问题,即图表页面 (CPTPGraphHostingView) 上的所有控件都被镜像。 即
我是一名优秀的程序员,十分优秀!