面试真题

算法 · 简单 · 京东

手撕:找到数组中重复的数字和出现次数

简单 算法 🎤 京东
参考答案
结论:用哈希表统计频次,输出次数大于1的数字及出现次数。核心要点:1. 创建HashMap<Integer,Integer>;2. 遍历数组,map.put(num, map.getOrDefault(num,0)+1)累加计数;3. 遍历entrySet,筛选value>1的键和值即为重复数字和次数;4. 示例:[1,2,2,3,3,3]得到2出现2次、3出现3次。原理:哈希表平均O(1)插入查找,整体时间O(n)空间O(n)。对比:若要求原地可用排序后线性扫描,空间O(1)但时间O(nlogn);若仅找任意一个重复数可用下标交换法。
题目整理自公开面经,答案由校招宝自研生成,仅供参考

🏢 京东 在招岗位(5 条)

保险服务 北京市-北京店长储备 上海市-上海,云南省-昆明,北京市-北京,吉林省-长春市-朝阳区,四川省-成都,四川省-成都市-新都区,天津市-天津,安徽省-合肥,安徽省-合肥市-包河区,安徽省-宿州,安徽省-淮南,安徽省-滁州,安徽省-芜湖,安徽省-蚌埠,安徽省-阜阳,山东省-济南市-历下区,山东省-济南市-历城区,山东省-青岛市-李沧区,山西省-太原,广东省-广州,广东省-深圳,广西壮族自治区-南宁,江苏省-南京,江苏省-南通,江苏省-宿迁,江苏省-徐州,江苏省-扬州,江苏省-无锡,江苏省-淮安,江苏省-盐城,江苏省-苏州,江西省-南昌,河北省-保定,河北省-廊坊,河北省-石家庄,河南省-郑州市-金水区,浙江省-宁波,浙江省-杭州,湖北省-武汉,湖南省-长沙,福建省-福州,辽宁省-沈阳,重庆市-重庆,陕西省-西安家政运营 上海市-上海,北京市-北京,吉林省-长春,四川省-成都,山东省-济南,广东省-广州,广东省-深圳,江苏省-南京,浙江省-杭州,湖北省-武汉,陕西省-西安后端开发,前端开发,客户端开发,测试,数据,运维,人工智能/算法,研发工程师,销售技术支持,通信,技术支持,产品,运营,用户研究,风控,投融资,保险,市场/营销,客服,商务,咨询/调研,财务审计,人事,行政,法务,供应链,物流,交互/设计 上海,北京,广州,成都,杭州,武汉,深圳物流储备类,门店储备类,金融风控储备类,健康储备类,客服储备类,审核储备类,金融保险储备类,销售类,人力资源类,物流防损类,财务会计类,行政类,法务风控类,健康类,品控类,运维支持类,业务支持类 上海,北京,山东等全国各地区,江苏,浙江
查看「京东」企业档案与全部在招岗位 ›