想问下360的hash桶深度到底要怎样的输出格式

想问下360的hash桶深度到底要怎样的输出格式,本地正确,提交一直错误答案#360公司##笔试题目#
全部评论
两道题全AC #include <iostream> #include <string> #include <set> using namespace std; int main1() {     int n1, n2;     cin >> n1 >> n2;     int num = 0;     if (n1 > n2)         num++;     while (cin >> n1)     {         if (n2 > n1)         {             num++;             n2 = n1;         }         if (num > 1)         {             cout << "No" << endl;             break;         }             else         {             cout << "Yes" << endl;             break;         }     }     system("pause");     return 0; } int main() {     string s = "4/1-20,30-52,100";     int hashsize = 0;     bool flag = false;     int key1[1000]{ 0 };//存储区间值     int key[1000]{ 0 }; //存储单个值     int index1 = 0;     int index2 = 0;     int num = 0;     int len = s.length();     for (int i = 0; i < len; i++)     {                  if (s[i] == '/')         {             hashsize = num;             num = 0;         }         else if(s[i] == '-')         {             key1[index1++] = num;             flag = true;             num = 0;         }         else if( s[i] == ',')         {             if (flag)             {                 key1[index1++] = num;                 flag = false;                 num = 0;             }             else             {                 key[index2++] = num;                 num = 0;             }         }         else         {             num *= 10;             num += (s[i] - '0');         }     }     if (flag)         key1[index1++] = num;     else         key[index2++] = num;     set<int> st[100];     for (int i = 0; i < index1; i += 2)     {         for (int j = key1[i]; j <= key1[i + 1]; j++)         {             int m = j % hashsize;             st[m].insert(j);         }     }     for (int i = 0; i < index2; i++)     {         int m = key[i] % hashsize;         st[m].insert(key[i]);     }     cout << endl;     int max = 0;     int maxindex = 0;     for (int i = 0; i < 100; i++)     {         if (st[i].size() > max)         {             max = st[i].size();             maxindex = i;         }     }     cout << max << "-" << maxindex << "-";     for (set<int>::reverse_iterator it = st[maxindex].rbegin(); it != st[maxindex].rend(); it++)     {         if(it == --st[maxindex].rend())             cout << *it;         else             cout << *it << " ";     }     system("pause");     return 0; }
点赞 回复 分享
发布于 2019-04-16 22:14
贴个c++的,AC。 #include <bits/stdc++.h> using namespace std; int main(int argc, char const *argv[]) {     ios::sync_with_stdio(0);cin.tie(0);     //处理输入     string in; cin >> in;     for(auto& x : in) if(x == '/' || x == ',') x = ' ';     stringstream ss(in);     int hashsize; ss >> hashsize;     map<int, set<int, greater<int>>> mmp;     // 处理key     while(ss >> in) {         bool flag = 0;         for(auto& x : in) if(x == '-') {             x = ' '; flag = 1; break;         }     // 区间key和单独key         if(flag) {             stringstream sss(in);             int l, r; sss >> l >> r;             for(int i = l; i <= r; ++i) {                 int idx = i%hashsize;                 mmp[idx].insert(i);             }         } else {             stringstream sss(in);             int tmp; sss >> tmp;             int idx = tmp%hashsize;             mmp[idx].insert(tmp);         }     }     int sum = 0, ans_id;     for(auto x : mmp) if(x.second.size() > sum) {         ans_id = x.first, sum = x.second.size();     }     set<int, greater<int>>& anset = mmp[ans_id];     vector<int> ans;     for(auto x : anset) ans.push_back(x);     int cnt = ans.size();     // 个数-哈希值-元素1 > 元素2 > 元素3     cout << cnt << "-" << ans_id << "-";     int sz = ans.size();     cout << ans[0];     for(int i = 1; i < sz; ++i)         cout << " " << ans[i];     cout << endl;     return 0; }
点赞 回复 分享
发布于 2019-04-16 21:23
第一题没给n  输入难道不用先输n的值吗  
点赞 回复 分享
发布于 2019-04-16 21:19
只AC了%55左右吧,不知道啥原因,这输入输出太坑 import java.util.HashMap; import java.util.Map.Entry; import java.util.Scanner; import java.util.TreeSet; public class Main2 {     public static void main(String[] args)     {         Scanner scanner = new Scanner(System.in);         String str = scanner.nextLine();         String[] strs = str.split("/");         int hashSize = Integer.valueOf(strs[0]);         String[] keys = null;         if(strs[1].contains(","))         {             keys = strs[1].split(",");         }         else         {             keys = new String[1];             keys[0] = strs[1];         }         TreeSet<Integer> set = new TreeSet<Integer>();         HashMap<Integer,Integer> map = new HashMap<>();         int[] hash = new int[hashSize];         for(int i = 0; i < keys.length; i++)         {             if(keys[i].contains("-"))             {                 String[] s = keys[i].split("-");                 int left = Integer.valueOf(s[0]);                 int right = Integer.valueOf(s[1]);                 for(int j = left; j <= right; j++)                 {                     int mod = j % hashSize;                     hash[mod]++;                     map.put(j,mod);                 }             }             else             {                 int mod = Integer.valueOf(keys[i]) % hashSize;                 hash[mod]++;                 map.put(Integer.valueOf(keys[i]),mod);             }         }         int max = 0;         int maxIndex = -1;         for(int i = 0; i < hash.length; i++)         {             if(hash[i] > max)             {                 maxIndex = i;                 max = hash[i];             }         }         for(Entry<Integer,Integer> entry : map.entrySet())         {             if(entry.getValue() == maxIndex)             {                 set.add(entry.getKey());             }         }         int[] arr = new int[set.size()];         int index = arr.length-1;         for(Integer i : set)         {             arr[index--] = i;         }         System.out.print(max + "-" + maxIndex);         System.out.print("-");         for(int i = 0; i < arr.length; i++)         {             System.out.print(arr[i]);             if(i < arr.length-1)             {                 System.out.print(" ");             }         }         //4/1-20,100         scanner.close();     } }
点赞 回复 分享
发布于 2019-04-16 21:04
我本地写完没粘上去就到时了😂
点赞 回复 分享
发布于 2019-04-16 20:53
刚参加完,正好这两道题都AC了,分享一下你说的这题的代码,排版可能有点乱,毕竟时间紧张 def f(key,hashSize):     return key%hashSize x = input() #x = "4/1,1,1,1,1,2" hashSize,keys = x.split("/") hashSize = int(hashSize) keys = [i for i in keys.split(",")] key = [] for i in keys:     if "-" in i:         t1,t2 = i.split("-")         t1,t2 = int(t1),int(t2)         for j in range(t1,t2+1):             if int(j) not in key:                 key.append(int(j))     else:         if int(i) not in key:             key.append(int(i)) hashTable = [] for i in range(hashSize):     hashTable.append([])      for i in key:     hashTable[f(i,hashSize)].insert(0,i) maxLen = max([len(i) for i in hashTable]) for i in range(len(hashTable)):     if len(hashTable[i]) ==maxLen:         break # output: t = [] for j in hashTable[i]:     if j not in t:         t.append(j) t = [ str(j) for j in t] print(str(maxLen)+"-"+str(i)+"-"+" ".join(t))
点赞 回复 分享
发布于 2019-04-16 20:48
我去又凉了,两道题感觉描述都很有问题,特别第一题,半天没看懂问的啥
点赞 回复 分享
发布于 2019-04-16 20:44
感觉牛客网就够坑了,今天发现一个更坑的,***不能学学lc嘛🤣
点赞 回复 分享
发布于 2019-04-16 20:39
输入是什么格式?真心看不懂,字符串?
点赞 回复 分享
发布于 2019-04-16 20:33
你的是咋写的?我也是
点赞 回复 分享
发布于 2019-04-16 20:29

相关推荐

来,说点可能被同行“骂”的大实话。🙊当初接数字马力Offer时,朋友都说:“蚂蚁的“内包”公司?你想清楚啊!”但入职快一年后的今天,我反而对他有了不一样的看法!🔹&nbsp;是偏见?还是信息差!之前没入职之前外面都在说什么岗位低人一等这类。实际上:这种情况不可至否,不能保证每个团队都是其乐融融。但我在的部门以及我了解的周边同事都还是十分好相处的~和蚂蚁师兄师姐之间也经常开一些小玩笑。总之:身份是蚂蚁公司给的,地位是自己挣的(一个傲娇女孩的自述)。🔹&nbsp;待遇?玩的就是真实!试用期工资全额发!六点下班跑得快(早9晚6或者早10晚7,动态打卡),公积金顶格交。别听那些画饼的,到手的钱和下班的时间才是真的(都是牛马何必难为牛马)。🔹&nbsp;能不能学到技术?来了就“后悔”!我们拥有权限直通蚂蚁知识库,技术栈多到学不完。说“学不到东西”的人,来了可能后悔——后悔来晚了(哈哈哈哈,可以不学但是不能没有)!💥&nbsp;内推地址:https://app.mokahr.com/su/ueoyhg❗我的内推码:NTA6Nvs走我的内推,可以直达业务部门,面试流程更快速,进度可查!今天新放HC,之前挂过也能再战!秋招已经正式开始啦~机会就摆在这,敢不敢来试一试呢?(和我一样,做个勇敢的女孩)
下午吃泡馍:数字马力的薪资一般哇,5年经验的java/测试就给人一万出头,而且刚入职第三天就让人出差,而且是出半年
帮你内推|数字马力 校招
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
11-21 11:29
已编辑
斯卡蒂味的鱼汤:知道你不会来数马,就不捞你😂最近数马疯狂扩招,招聘要求挺低的,你能力肯定够,应该就是因为太强了,知道你不会来才不捞你
投递腾讯云智研发等公司7个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务