您当前所在位置:
88好学网范文常识招聘应聘笔试2017亚马逊在线笔试题目» 正文

2017亚马逊在线笔试题目

[05-18 22:30:27]   来源:http://www.88haoxue.com  笔试   阅读:680

概要:2小时,两个题目。在线编程,英文题目。当时没做好,完了自己把他们完成了。答案是我自己写的,自己测试没问题,若有错误请指正。Question 1 / 2Question:We have an array representing customer’s shopping records.For example, it’s an array like this:custA, item1,custB, item1,custA, item2,custB, item3,custC, item1,custC, item3,custD, item2,This array indicates that customer A bought item 1, customer B bought item 1, customer A bought item 2, customer B bought item 3, etc..For a given item X and shopping records array, write code to find out wha

2017亚马逊在线笔试题目,标签:笔试大全,http://www.88haoxue.com

  2小时,两个题目。在线编程,英文题目。当时没做好,完了自己把他们完成了。答案是我自己写的,自己测试没问题,若有错误请指正。

  Question 1 / 2

  Question:

  We have an array representing customer’s shopping records.

  For example, it’s an array like this:

  custA, item1,

  custB, item1,

  custA, item2,

  custB, item3,

  custC, item1,

  custC, item3,

  custD, item2,

  This array indicates that customer A bought item 1, customer B bought item 1, customer A bought item 2, customer B bought item 3, etc..

  For a given item X and shopping records array, write code to find out what else (item Y) was bought mostly by the customers who bought item X.

  For example, in above example, if X is item 1 then Y should be item 3.

  Rules:

  1. One customer can only buy one item once.

  2. The mostly brought item should not be item X.

  3. If no customer brought item X, then return “None”

  4. If all the customers who brought item X only brought item X, then return “None”

  5. The first line of input is the item X. The second line of input is the shopping record array, this shopping record array is split by space.

  6. If there are many other mostly brought items which have equally brought times, then return any one of those items.

  Examples:

  Input1:

  item1

  custA item1 custB item1 custA item2 custB item3 custC item1 custC item3 custD item2

  Output1:

  item3

  Input2:

  item2

  custA item1 custB item1 custC item1 custA item2 custB item3 custA item3

  Output2:

  item1

  (The output2 can be item3 too)

  /* Enter your code here. Read input from STDIN. Print output to STDOUT */

  #include

  #include

  #include

  #include

  #include

  #include

  #include

  using namespace std;

  char* findMostlyBroughtItem(char* shippingRecordArray[], int length, char* givenItem);

  inline bool isSpace(char x){

  return x == ' ' || x == '\r' || x == '\n' || x == '\f' || x == '\b' || x == '\t';

  }

  char * rightTrim(char *str){

  int len = strlen(str);

  while(--len>=0){

  if(isSpace(str[len])){

  str[len] = '\0';

  }else{

  break;

  }

  }

  return str;

  }

  char * getInputLine(char *buffer, int length){

  if(fgets(buffer,length, stdin)==NULL){

  return NULL;

  }

  rightTrim(buffer);

  if(strlen(buffer)<=0){

  return NULL;

  }

  return buffer;

  }

  int splitAndConvert(char* strings,char* array[]){

  char*tokenPtr = strtok(strings," ");

  int i=0;

  while(tokenPtr!=NULL){

  array[i] = tokenPtr;

  i++;

  tokenPtr=strtok(NULL," ");

  }

  return i;

  }

  int main()

  {

  char givenItem[1000] = {0} ;

  while(getInputLine(givenItem, 1000)){

  char line[1000];

  getInputLine(line, 1000);

  char* shoppingRecordArray[1000] = {0};

  int length = splitAndConvert(line,shoppingRecordArray);

  if(length==0){

  break;

  }

  char * item = findMostlyBroughtItem(shoppingRecordArray, length, givenItem);

  if (NULL != item)

  { // 原来系统提供的代码。这里没有NULL判断

  cout<

  free(item); // 自己加的

  }

  }

  return 0;

  }

  void

  print(pair

  cout << p.first << p.second << endl;

  }

  //your code is here

  //下面才是让写代码的地方,其他的系统已经自动给出。主函数,只有一点点修改。

  char* findMostlyBroughtItem(char* shoppingRecordArray[], int length, char* givenItem)

  {

  if (NULL == shoppingRecordArray || NULL == givenItem)

  return NULL;

  string obj_item(givenItem);

  // 将用户信息 与 购买商品信息 存入multimap record

  multimap

  for (int i = 0; i < length; i += 2)

  {

  string customer(shoppingRecordArray[i]);

  string item(shoppingRecordArray[i+1]);

  record.insert(pair

  }

  // 提取出购买了obj_item商品的客户名称集合 customers

  set customers;

  for (map

  {

  if (0 == (*it).second.compare(obj_item))

  {

  customers.insert((*it).first);

  }

  }

  // 遍历购买记录 multimap record

  // 若客户名称 在 集合set customers 存在,则将商品插入map result

  map

  for (map

  {

  for (set::iterator ic = customers.begin(); ic != customers.end(); ic++)

[1] [2] [3]  下一页


Tag:笔试笔试大全招聘应聘 - 笔试
》《2017亚马逊在线笔试题目》相关文章