关注
import
java.util.ArrayList;
import java.util.HashMap;
import java.util.Scanner;
publicclass Main {
public
static
void main(String[] args) {
Solution s =
new Solution();
s.doBefore();
Scanner sc =
new
Scanner(System.in);
int
t = sc.nextInt();
for(int
i = 0; i < t; i++) {
int
n = sc.nextInt();
s.getResult(n);
}
sc.close();
}
}
class Solution {
public
ArrayList<int[]>
curResult = new ArrayList<int[]>();
publicboolean
mark
= false;
public
void doBefore() {
int
last = 0;
for(int
i = 1; i <= 100000; i++) {
if(f(i) == g(i)) {
int[]
arr = {i, ++last};
curResult.add(arr);
}
}
}
public
void getResult(int
n) {
int
result = 1;
for(int
i = 0; i < curResult.size(); i++) {
if(curResult.get(i)[0] <= n) {
result
= curResult.get(i)[1];
} else
break;
}
System.out.println(result);
}
// int curMostClosed = 1;
// int result = 1; //当前结果是0;
//
// if (mark) {
// for (int k :
curResult.keySet()) {
// if (k >
curMostClosed && k <= n) {
// curMostClosed
= k;
// }
// }
// result =
curResult.get(curMostClosed);
// }
// mark = true;
//
// for(int i = curMostClosed
+ 1; i <= n; i++) {
// if(f(i) == g(i))
// result++;
// }
// curResult.put(n, result);
//
//
System.out.println(result);
// }
privateint f(int
n
) {
int
result = 0;
while(n != 0) {
result +=
n % 10;
n /= 10;
}
return
result;
}
privateint g(int
n
) {
int
result = 0;
while(n != 0) {
result +=
(n & 1) == 1 ? 1 :
0;
n
>>>= 1;
}
return
result;
}
}
这是幸运数那道题,打注释的是我一开始写的方法,后来发现本地运行是可以的,但是OJ说是运行时错误,于是开始使劲想,发现其实输入大小不是很大,于是直接预处理搞了100000个数。结果这样就AC了
查看原帖
点赞 1
相关推荐
03-14 18:30
华侨大学 Java 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 你的实习产出是真实的还是包装的? #
19812次浏览 342人参与
# 中国电信笔试 #
31566次浏览 284人参与
# 米连集团26产品管培生项目 #
13229次浏览 285人参与
# 春招至今,你的战绩如何? #
63636次浏览 574人参与
# 如果秋招能重来,我会____ #
96880次浏览 500人参与
# 一张图晒出你司的标语 #
4189次浏览 75人参与
# 开放七大实习专项,百度暑期实习值得冲吗 #
14882次浏览 219人参与
# i人适合做什么工作 #
37109次浏览 124人参与
# 我是面试官,请用一句话让我破防 #
79687次浏览 219人参与
# 金三银四,你的春招进行到哪个阶段了? #
21987次浏览 280人参与
# 哪些公司真双非友好? #
69519次浏览 289人参与
# 投递几十家公司,到现在0offer,大家都一样吗 #
340585次浏览 2173人参与
# AI面会问哪些问题? #
27084次浏览 543人参与
# 找AI工作可以去哪些公司? #
8720次浏览 223人参与
# 从事AI岗需要掌握哪些技术栈? #
8587次浏览 291人参与
# 面试尴尬现场 #
220941次浏览 861人参与
# 五一之后,实习真的很难找吗? #
102877次浏览 584人参与
# 你做过最难的笔试是哪家公司 #
32478次浏览 220人参与
# 应届生第一份工资要多少合适 #
20640次浏览 86人参与
# 聊聊你的职场新体验 #
336351次浏览 1894人参与
# 你小时候最想从事什么职业 #
159970次浏览 2072人参与
# 阿里笔试 #
178065次浏览 1308人参与