由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 设计card deck问题,还有shuffle function,大家要搞清楚呀
相关主题
再论设计里面的Card class别跟我说你懂怎么做项目,看看这个再说
求介绍设计parking lot的文档问个构造函数的问题
问一道C++ class的问题问道题
刚看了下shuffle算法。发现有个问题shuffle card 算法
讨论一个OO问题Anyone knowing how to shuffle a deck of cards in Java?
One C++ question这题咋做啊?
C++ online Test 一题报个T家的电面据
【我自己写的LinkedList为什么总有错?】Amazon 两轮电话面经 及 design问题请教
相关话题的讨论汇总
话题: card话题: suit话题: shuffle话题: face话题: deck
进入JobHunting版参与讨论
1 (共1页)
m******9
发帖数: 968
1
Design a Card Deck,并且写shuffle function,
我之前的一次onsite,class写的不周全,当时shuffle也没写出来,直接因为这个而
fail掉了,后来的面试又被问到过2次。
把它贴出来,我也搜了一个答案出来,不知是否很好,大家讨论一下,有没有更好的解
决方法。
enum Suit { SPADES, CLUBS, HEARTS, DIAMONDS, };
enum Face { ACE, TWO, THREE, FOUR, FIVE, SIX, SEVEN, EIGHT, NINE, TEN, JACK,
QUEEN, KING, };
class Card {
public:
Card(Suit suit, Face face) : suit(suit), face(face) {}
Card(const Card& orig) : suit(orig.suit), face(orig.face) {}
Suit getSuit() const { return suit; }
Face getFace() const { return fa
s*****r
发帖数: 773
2
两个问题
1 你以前写的不周全, 不周全在哪儿?
2 为什么Card还要定义一个private的ctor啊,不要可以么?

JACK,

【在 m******9 的大作中提到】
: Design a Card Deck,并且写shuffle function,
: 我之前的一次onsite,class写的不周全,当时shuffle也没写出来,直接因为这个而
: fail掉了,后来的面试又被问到过2次。
: 把它贴出来,我也搜了一个答案出来,不知是否很好,大家讨论一下,有没有更好的解
: 决方法。
: enum Suit { SPADES, CLUBS, HEARTS, DIAMONDS, };
: enum Face { ACE, TWO, THREE, FOUR, FIVE, SIX, SEVEN, EIGHT, NINE, TEN, JACK,
: QUEEN, KING, };
: class Card {
: public:

m******9
发帖数: 968
3
这段代码是别人写的,我是在网上搜出来的,那个private ctor只是将default ctor封
起来而已,没别的意思。
我感觉这是个open questions,或许可以有很多写法,
我当时比较紧张,还没想彻底,就开始写了,边写边想,结果我写的越多,他就问的越
多。反正当时我比较乱。
大家有没有好的答案呀? 求教

【在 s*****r 的大作中提到】
: 两个问题
: 1 你以前写的不周全, 不周全在哪儿?
: 2 为什么Card还要定义一个private的ctor啊,不要可以么?
:
: JACK,

r**u
发帖数: 1567
4
I think private的ctor prevents you from creating a card without initializing
it.

【在 s*****r 的大作中提到】
: 两个问题
: 1 你以前写的不周全, 不周全在哪儿?
: 2 为什么Card还要定义一个private的ctor啊,不要可以么?
:
: JACK,

m******9
发帖数: 968
5
嗯,没错
你觉得这个design该怎么写呀? 谢谢

initializing

【在 r**u 的大作中提到】
: I think private的ctor prevents you from creating a card without initializing
: it.

k***e
发帖数: 556
6
很多公司问这种问题吗?
是不是只有amazon

JACK,

【在 m******9 的大作中提到】
: Design a Card Deck,并且写shuffle function,
: 我之前的一次onsite,class写的不周全,当时shuffle也没写出来,直接因为这个而
: fail掉了,后来的面试又被问到过2次。
: 把它贴出来,我也搜了一个答案出来,不知是否很好,大家讨论一下,有没有更好的解
: 决方法。
: enum Suit { SPADES, CLUBS, HEARTS, DIAMONDS, };
: enum Face { ACE, TWO, THREE, FOUR, FIVE, SIX, SEVEN, EIGHT, NINE, TEN, JACK,
: QUEEN, KING, };
: class Card {
: public:

m*****f
发帖数: 1243
7
My shuffle
void Shuffle() {
int n = "size of the deck";
for (int i = n-1; i >= 0; - -i) {
swap(card[i], card[bigrand() % (n- -)]);
}
}
m*****f
发帖数: 1243
8
ft, it's not permutation just shuffle...
g*******y
发帖数: 1930
9
agree. Don't think it's necessary to modify the code even if there's dup.

【在 m*****f 的大作中提到】
: ft, it's not permutation just shuffle...
m******9
发帖数: 968
10
大家给design的方法做点点评吧,关于shuffle网上可以找到固定的答案了,可是
design似乎没个明确的说法。
any suggestions for OO design?
H*M
发帖数: 1268
11
脑子短路了...:(

【在 m*****f 的大作中提到】
: ft, it's not permutation just shuffle...
m*****k
发帖数: 64
12
how to implement Joker in this class?

JACK,

【在 m******9 的大作中提到】
: Design a Card Deck,并且写shuffle function,
: 我之前的一次onsite,class写的不周全,当时shuffle也没写出来,直接因为这个而
: fail掉了,后来的面试又被问到过2次。
: 把它贴出来,我也搜了一个答案出来,不知是否很好,大家讨论一下,有没有更好的解
: 决方法。
: enum Suit { SPADES, CLUBS, HEARTS, DIAMONDS, };
: enum Face { ACE, TWO, THREE, FOUR, FIVE, SIX, SEVEN, EIGHT, NINE, TEN, JACK,
: QUEEN, KING, };
: class Card {
: public:

1 (共1页)
进入JobHunting版参与讨论
相关主题
Amazon 两轮电话面经 及 design问题请教讨论一个OO问题
Amamon onsite 面经One C++ question
C++ Q54: enum (C12)C++ online Test 一题
又问几个c语言编程的题目【我自己写的LinkedList为什么总有错?】
再论设计里面的Card class别跟我说你懂怎么做项目,看看这个再说
求介绍设计parking lot的文档问个构造函数的问题
问一道C++ class的问题问道题
刚看了下shuffle算法。发现有个问题shuffle card 算法
相关话题的讨论汇总
话题: card话题: suit话题: shuffle话题: face话题: deck