回复: 33
跳转到指定楼层
上一主题 下一主题
收起左侧

WePay Code Challenge

全局:

2015(7-9月) 码农类General 硕士 全职@wepay - 网上海投 - 在线笔试  | | Other | 应届毕业生

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看附件。没有帐号?注册账号

x
官网投的WePay,大约三天后收到code challenge

题目还是

实现hashmap 和 两道选择题

Hashmap用generic array通不过,要用ArrayList保存头节点才行

(int + long)
您好!
本帖隐藏的内容需要积分高于 188 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 188 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies
rong>
怎么少了两个选项

/* comment /* comment */*/
/* comment // comment */

评分

参与人数 3大米 +18 收起 理由
raccoon + 3 感谢分享!
whdawn + 10
love1point + 5

查看全部评分


上一篇:Google onsite,最后挂了
下一篇:Amazon HackerRank OA
推荐
Zeratul 2015-9-18 11:25:15 | 只看该作者
全局:
readman 发表于 2015-9-11 04:40
public void put(K key, V value) {
        if (key == null)
            throw new NullPointerExcep ...

还是有些问题,帮你改了下:
  1. public void put(K key, V value) {
  2.         if (key == null)
  3.             throw new NullPointerException("null of key is not allowed");
  4.         int index = key.hashCode() % size;
  5.         if (ary.get(index) == null){
  6.             ary.set(index, new LinkedList<Entry<K, V>>());
  7.             ary.get(index).add(new Entry<K, V>(key, value));
  8.         }else{
  9.             LinkedList<Entry<K, V>> list = ary.get(key.hashCode() % size);
  10.             Iterator<Entry<K, V>> iterator = list.iterator();
  11.             while (iterator.hasNext()) {
  12.                 Entry<K, V> e = iterator.next();
  13.                 if (e.key.equals(key)) {
  14.                     e.value = value;
  15.                     return;
  16.                 }
  17.             }
  18.             list.add(new Entry<K, V>(key, value));
  19.         }


  20.     }
复制代码
回复

使用道具 举报

推荐
readman 2015-8-20 05:05:04 | 只看该作者
全局:
public class myHashTable<K, V> {
    class Entry<K, V> {
        public Entry(K key, V value) {
            this.key = key;
            this.value = value;
        }

        K key;
        V value;
    }

    private int size = 1000;
    private ArrayList<LinkedList<Entry<K, V>>> ary = new ArrayList<>(size);

    public myHashTable(int size) {
        this.size = size;
        for (int i = 0; i < size; i++) {
            ary.add(i, null);
        }
    }

    public void put(K key, V value) {
        if (key == null)
            throw new NullPointerException("null of key is not allowed");
        if (ary.get(key.hashCode() % size) == null)
            ary.add(key.hashCode() % size, new LinkedList<Entry<K, V>>());
        ary.get(key.hashCode() % size).add(new Entry<K, V>(key, value));
    }

    public V get(K key) {
        if (key == null)
            throw new NullPointerException("null of key is not allowed");
        if (ary.get(key.hashCode() % size) == null)
            return null;
        else {
            LinkedList<Entry<K, V>> res = ary.get(key.hashCode() % size);
            Iterator<Entry<K, V>> iterator = res.iterator();
            while (iterator.hasNext()) {
                Entry<K, V> e = iterator.next();
                if (e.key.equals(key))
                    return e.value;
            }
            return null;
        }
    }

    public static void main(String[] args) {
        myHashTable<String, String> m = new myHashTable<>(1000);
        m.put("abc", "eee");
        m.put("abc", "bbb");
        System.out.println(m.get("abc"));
    }
}
- - 我大概这么写的, 很弱的hashmap 因为只有30分钟, 我浏览器还死机了一次唉
回复

使用道具 举报

🔗
 楼主| 悲伤网管 2015-8-19 02:33:53 | 只看该作者
全局:
有两个选项乱码了,全选页面可以看到
回复

使用道具 举报

🔗
readman 2015-8-20 03:04:50 | 只看该作者
全局:
悲伤网管 发表于 2015-8-19 02:33
有两个选项乱码了,全选页面可以看到

wepay 同楼主一样...居然没过oa, 不知道为啥..
我还自己写了复杂度分析- -
回复

使用道具 举报

🔗
 楼主| 悲伤网管 2015-8-20 03:25:43 | 只看该作者
全局:
readman 发表于 2015-8-20 03:04
wepay 同楼主一样...居然没过oa, 不知道为啥..
我还自己写了复杂度分析- -

过了test case应该就没问题啊
回复

使用道具 举报

🔗
readman 2015-8-20 04:00:19 | 只看该作者
全局:
悲伤网管 发表于 2015-8-20 03:25
过了test case应该就没问题啊

过了啊...不过怎么敢提交 - -
你code里写rehash和load factor了么?
回复

使用道具 举报

🔗
 楼主| 悲伤网管 2015-8-20 04:26:32 | 只看该作者
全局:
readman 发表于 2015-8-20 04:00
过了啊...不过怎么敢提交 - -
你code里写rehash和load factor了么?

没有吧,我用linked list处理的collision
回复

使用道具 举报

🔗
readman 2015-8-20 04:33:25 | 只看该作者
全局:
悲伤网管 发表于 2015-8-20 04:26
没有吧,我用linked list处理的collision

- - 那应该一样啊...好吧 唉..
回复

使用道具 举报

🔗
 楼主| 悲伤网管 2015-8-20 05:22:01 | 只看该作者
全局:
readman 发表于 2015-8-20 05:05
public class myHashTable {
    class Entry {
        public Entry(K key, V value) {

比我写的好多了     
回复

使用道具 举报

🔗
lx051068 2015-8-20 05:33:34 | 只看该作者
全局:
同样做了,HR发了个邮件约了个时间要给我打电话。。。不知道是要聊技术的还是HR面。。。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

>
快速回复 返回顶部 返回列表