唯品会笔试9.15

大家今天通过情况咋样啊?
第一题:SQL,获取每个品类中销量最高的商品
第二题:算法,求不包含相同字符的两个单词中的共包含不同字符的总数;
第三题:算法,求股票的最大收益。
#唯品会##笔试题目#
全部评论
什么岗位呀
点赞 回复
分享
发布于 2021-09-15 17:13
SQL挂了,死活写不出来,编程题相对容易多了
点赞 回复
分享
发布于 2021-09-15 18:47
联想
校招火热招聘中
官网直投
请问各位大佬,sql题咋做呀
点赞 回复
分享
发布于 2021-09-15 22:22
第一题SQL解如下,我这里不是最优的,时间短来不及想了 SELECT b.sku_name, a.category, a.maxsum FROM ( SELECT s.category, max( maxsum ) AS maxsum FROM ( SELECT sum( sa.qty ) AS maxsum, sku.sku_name, sku.category FROM sku_info sku, sales sa WHERE sku.sku_no = sa.sku_no GROUP BY sku.sku_no ORDER BY maxsum DESC ) s GROUP BY s.category ) a, ( SELECT sum( sa.qty ) AS maxsum, sku.sku_name, sku.category FROM sku_info sku, sales sa WHERE sku.sku_no = sa.sku_no GROUP BY sku.sku_no ORDER BY maxsum DESC ) b WHERE a.maxsum = b.maxsum AND a.category = b.category
点赞 回复
分享
发布于 2021-09-15 22:51
第二题: public static int maxSum (String[] words) {         // write code here         List<Set<Character>> list = new ArrayList<>();         for (int i = 0; i < words.length; i++) {             Set<Character> set = new HashSet<>();             for (int j = 0; j < words[i].length(); j++) {                 set.add(words[i].charAt(j));             }             list.add(set);         }         int max=0,now=0;         for (int i = 0; i < list.size()-1; i++) {             for (int j = i+1; j < list.size(); j++) {                 Set<Character> set = new HashSet<>();                 set.addAll(list.get(i));                 set.addAll(list.get(j));                 now = set.size();                 if (now == list.get(i).size()+list.get(j).size()){                     max = max>now?max:now;                 }             }         }         return max;     }
点赞 回复
分享
发布于 2021-09-15 22:51
第三题: public static int maxProfit(int[] prices) {         // write code here         int max=0,start = prices[0], stop = prices[0],x=0,y=0;         for (int i = 0; i < prices.length; i++) {             if (prices[i] < start) {                 start = prices[i];                 stop = prices[i];                 x=i;                 y=i;             }             if (prices[i]>stop){                 stop = prices[i];                 y=i;             }             max = stop-start>max?stop-start:max;         }         return max;     }
点赞 回复
分享
发布于 2021-09-15 22:51
第一题: BEGIN; SELECT a.sku_name, a.category, a.qty  FROM (   SELECT  -- 这是一个只包含一个商品的总销量的表 sku_info.sku_name, category, sum( qty ) AS qty  FROM sku_info, sales  WHERE sku_info.sku_no = sales.sku_no  GROUP BY sku_info.sku_no  ) a  WHERE 1 > (  -- 比这个销量大的商品熟练小于1,也就是效率最大的 SELECT count( DISTINCT a1.sku_name )  FROM ( SELECT  -- 这是一个只包含一个商品的总销量的表 sku_info.sku_name, category, sum( qty ) AS qty  FROM sku_info, sales  WHERE sku_info.sku_no = sales.sku_no  GROUP BY sku_info.sku_no  ) a1  WHERE a1.category = a.category  AND a1.qty > a.qty  )  GROUP BY category; COMMIT;
点赞 回复
分享
发布于 2021-09-15 22:53
1道sql题和2道算法题,分别0.67,ac,ac
点赞 回复
分享
发布于 2021-09-16 11:31
67/ac/80 虽然有保底了但是如果唯品能过肯定想唯品的
点赞 回复
分享
发布于 2021-09-17 09:45
第一题SQL....你们的看着好难.... select sku_name, ss.category, ss.qty from (select si.sku_name, si.category, sum(s.qty) as 'qty&(14429)#39;       from sku_info si                left join sales s on si.sku_no = s.sku_no       group by si.sku_name, si.category       order by qty DESC) ss          join (select max(sncq.qty) as 'qty&(14429)#39;, category                from (select  si.category, sum(s.qty) as 'qty&(14429)#39;                      from sku_info si                               left join sales s on si.sku_no = s.sku_no                      group by si.sku_name, si.category) as sncq                group by category) sss where ss.category = sss.category   and ss.qty = sss.qty;
点赞 回复
分享
发布于 2021-09-18 23:39

相关推荐

1 3 评论
分享
牛客网
牛客企业服务