avatar
问一道qualtric面经题# JobHunting - 待字闺中
f*e
1
给个num, 要求找出 这个num的倍数, 有, 0, 1, 2组成。
for instance 2 -> 2
3->12
4-》12
怎么做哦, 求大牛指教。
avatar
b*b
2
I found I always can only come up with brute force solution, for this, I
will generate numbers only consist of 0, 1, 2, then try it until found a
solution, e.g.
1,2,10,11,12,20,21,22,100,101,102,110,111,112,200,201,202, should be easy to
generate it in a loop and try it until one % num==0.

【在 f**********e 的大作中提到】
: 给个num, 要求找出 这个num的倍数, 有, 0, 1, 2组成。
: for instance 2 -> 2
: 3->12
: 4-》12
: 怎么做哦, 求大牛指教。

avatar
f*e
3
How to generate?
avatar
b*b
4
Assuming the numbers is in a list, e.g. ArrayList, below method
generate the next number in the list:
void next(ArrayList current)
{
int carryOver = 0;
current.set(current.size()-1, current.get(current.size()-1) + 1);
for (int i = current.size() - 1; i >= 0; i--)
{
int val = current.get(i);
int newVal = (val + carryOver) % 3;
carryOver = (val + carryOver) / 3;
current.set(i, newVal);
if (carryOver == 0) break;
}
if (carryOver > 0) current.add(0, carryOver);
}
can easily change it if you want to be able to use more digits.

【在 f**********e 的大作中提到】
: How to generate?
avatar
f*e
5
可以贴下code吗?谢谢。
相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。