忘记密码   免费注册 查看新帖 |

ChinaUnix.net

  平台 论坛 博客 文库 频道自动化运维 虚拟化 储存备份 C/C++ PHP MySQL 嵌入式 Linux系统
123下一页
最近访问板块 发新帖
查看: 3956 | 回复: 20

[C++] 某名互联网面试题,求各位大神给解 [复制链接]

论坛徽章:
0
发表于 2018-01-05 10:04 |显示全部楼层
NO1:
prouct  属性a = 1,属性b = 3,  属性c = 5
prouct  属性a = 2,属性b = 7,  属性c = 9
prouct  属性a = 2,属性b = 8,  属性c = 4

rule:
     a =1, b= 3, c = 5 -》"shanghai"            发往上海
     a =2, none  c = 9 -》"beijing"             发往上海
     a =1, none, none -》"shanghai"             发往上海
     a =2, b= 8, c = 2 -》"shanghai"            发往深圳
写一个方法,注意效率,不能频繁使用比较
const char* sendToCity(int a,int b,int c)
{

   return "beijing";
}

NO2:
mode = "aabb"   content = "北京 北京 上海 上海"
mode = "abca"   content = "北京 上海 深圳 北京"

判断mode和content是否一致
写一个方法,注意效率
bool modeEqualConten(const char* mode,const char* content)
{
   return true;
}

论坛徽章:
42
15-16赛季CBA联赛之辽宁
日期:2018-05-02 10:46:022016科比退役纪念章
日期:2016-04-23 00:51:2315-16赛季CBA联赛之山东
日期:2016-04-17 12:00:2815-16赛季CBA联赛之福建
日期:2016-04-12 15:21:2915-16赛季CBA联赛之辽宁
日期:2016-03-24 21:38:2715-16赛季CBA联赛之福建
日期:2016-03-18 12:13:4015-16赛季CBA联赛之佛山
日期:2016-02-05 00:55:2015-16赛季CBA联赛之佛山
日期:2016-02-04 21:11:36每日论坛发贴之星
日期:2016-01-27 06:20:0015-16赛季CBA联赛之新疆
日期:2016-04-25 10:55:45程序设计版块每日发帖之星
日期:2016-07-02 06:20:0015-16赛季CBA联赛之天津
日期:2016-11-02 00:33:12
发表于 2018-01-05 11:48 |显示全部楼层
我硬是没看懂这题问的是什么……

论坛徽章:
0
发表于 2018-01-05 13:18 |显示全部楼层
回复 2# windoze

写个方法啊,根据传参数,最后出正确结果就可以啊。

论坛徽章:
130
技术图书徽章
日期:2013-10-01 15:32:13戌狗
日期:2013-10-25 13:31:35金牛座
日期:2013-11-04 16:22:07子鼠
日期:2013-11-18 18:48:57白羊座
日期:2013-11-29 10:09:11狮子座
日期:2013-12-12 09:57:42白羊座
日期:2013-12-24 16:24:46辰龙
日期:2014-01-08 15:26:12技术图书徽章
日期:2014-01-17 13:24:40巳蛇
日期:2014-02-18 14:32:59未羊
日期:2014-02-20 14:12:13白羊座
日期:2014-02-26 12:06:59
发表于 2018-01-05 16:09 |显示全部楼层
本帖最后由 jason680 于 2018-01-05 16:15 编辑

回复 1# stone531

rule:
1     a =1, b= 3, c = 5 -》"shanghai"            发往上海
2     a =2, none  c = 9 -》"beijing"             发往上海
3     a =1, none, none -》"shanghai"             发往上海
4     a =2, b= 8, c = 2 -》"shanghai"            发往深圳

有rule 3 何须 rule1 ?!

sol:
先mask,后比对

rule1: using the rule3

rule2: mask 0xF0F, check 0x209

rule3: mask 0xF00, check 0x100

rule4: mask 0xFFF, check 0x282


prouct  属性a = 1,属性b = 3,  属性c = 5   ==> 0x135
  a=1, mask 0xF00 => 0x100 ==> match rule3
prouct  属性a = 2,属性b = 7,  属性c = 9   ==> 0x279
  a=2, mask 0xF0F => 0x209 ==> match rule2
prouct  属性a = 2,属性b = 8,  属性c = 4   ==>0x284
  a=2, mask 0xF0F => 0x204 ==> not match rule2
  a=2, mask 0xFFF => 0x284 ==> not match rule4
  didn't match any rule



NO2:
mode = "aabb"   content = "北京 北京 上海 上海"
mode = "abca"   content = "北京 上海 深圳 北京"

a=0, b=1, c=2,...
m2c[0] = "北京"
m2c[1] = "上海"
m2c[2] = "深圳"
...

mode = "aabb"
a => 0 => m2c[0] => "北京"
b = >1 => m2c[1] => "上海"
mode = "aabb"  ==> "北京 北京 上海 上海"
then check with content


论坛徽章:
0
发表于 2018-01-05 16:46 |显示全部楼层
同样没看懂是我智商不够用了?

论坛徽章:
11
未羊
日期:2013-12-16 12:45:4615-16赛季CBA联赛之青岛
日期:2016-04-11 19:17:4715-16赛季CBA联赛之广夏
日期:2016-04-06 16:34:012015亚冠之卡尔希纳萨夫
日期:2015-11-10 10:04:522015亚冠之大阪钢巴
日期:2015-07-30 18:29:402015亚冠之城南
日期:2015-06-15 17:56:392015亚冠之卡尔希纳萨夫
日期:2015-05-15 15:19:272015亚冠之山东鲁能
日期:2015-05-14 12:38:13金牛座
日期:2014-12-04 15:34:06子鼠
日期:2014-10-16 13:40:4715-16赛季CBA联赛之八一
日期:2016-07-22 09:41:40
发表于 2018-01-05 18:24 |显示全部楼层
我会第一题:

const char* sendToCity(int a,int b,int c)
{
  if (a == 2  && c== 9) retru beijing;
    return syhanghai;
}

论坛徽章:
36
子鼠
日期:2013-08-28 22:23:29黄金圣斗士
日期:2015-12-01 11:37:51程序设计版块每日发帖之星
日期:2015-12-14 06:20:00CU十四周年纪念徽章
日期:2015-12-22 16:50:40IT运维版块每日发帖之星
日期:2016-01-25 06:20:0015-16赛季CBA联赛之深圳
日期:2016-01-27 10:31:172016猴年福章徽章
日期:2016-02-18 15:30:3415-16赛季CBA联赛之福建
日期:2016-04-07 11:25:2215-16赛季CBA联赛之青岛
日期:2016-04-29 18:02:5915-16赛季CBA联赛之北控
日期:2016-06-20 17:38:50技术图书徽章
日期:2016-07-19 13:54:03程序设计版块每日发帖之星
日期:2016-08-21 06:20:00
发表于 2018-01-06 13:01 |显示全部楼层
本帖最后由 cokeboL 于 2018-01-06 13:16 编辑
  1. No.1
  2. char *target[1000] = {0};

  3. void init() {
  4.         target[135] = "shanghai";
  5.         target[209] = "beijing";
  6.         target[100] = "shanghai";
  7.         target[282] = "shanghai";
  8. }

  9. const char *getTarget(int a, int b, int c) {
  10.         int idx = a*100+b*10+c;
  11.         if (idx >= 0 && idx < sizeof(target)/sizeof(target[0])) {
  12.                 return target[a*100+b*10+c];
  13.         }
  14.         return 0;
  15. }


  16. No.2
  17. char *character_addrs[256] = {0};
  18. 类似也初始化个,"aabb"挨个char取出来做下标去挨个字符串对比,每个字符串结束跳过' '就好了
复制代码

评分

参与人数 1信誉积分 +10 收起 理由
dorodaloo + 10 赞一个!宝刀未老!偶像

查看全部评分

论坛徽章:
0
发表于 2018-01-06 15:22 |显示全部楼层
回复 7# cokeboL

非常感谢回答。
我可能没有说清楚题意思。

NO.1
     意思像a =2, none  c = 9 -》"beijing"             发往上海
     这个意思是满足第一个条件a =2,和第三个条件c =9 就发往上海,第二
     条件不用比较。
     我当时回答是先比较条件少的条件,后面依次继续比。估计思路不是最佳。要求少     比较


NO.2
   mode = "aabb"   content = "北京 北京 上海 上海"
                   content = "苹果  苹果  橘子 橘子" 也是符合条件的
                   就是把内容按照空格拆分出来,如果有相同的认为模式一样

我后来有对第二个问题,跟别人讨论下,用一颗树来存每一个符合条件的内容,root记录 模式。如content = "我是中国人 我是中国人 我是美国人  我是日本人" 对应的模式应该是 mode = "aabc"
                   root
                我
            是   
        中   美     日
     国          国
  人                 人     人

然后对这颗树的路径遍历,从内容获取,从左到右。如果找到相同路径的,则模式记录a 存放到root节点。 发现不同路径,root节点加为b。   ,c,d .....。

这种方法比较繁琐,估计不可取。但是想用树来设计,主要是因为树可以回溯原来相同的子路径。

论坛徽章:
130
操作系统版块每日发帖之星
日期:2016-05-11 17:06:57操作系统版块每日发帖之星
日期:2016-05-11 17:06:57数据库技术版块每日发帖之星
日期:2016-05-11 17:07:05操作系统版块每日发帖之星
日期:2016-05-11 17:06:57操作系统版块每日发帖之星
日期:2016-05-11 17:06:57综合交流区版块每日发帖之星
日期:2016-05-11 17:07:052022北京冬奥会纪念版徽章
日期:2015-08-07 17:10:57IT运维版块每日发帖之星
日期:2016-05-11 17:06:49操作系统版块每日发帖之星
日期:2016-05-11 17:06:57综合交流区版块每日发帖之星
日期:2016-05-11 17:07:05操作系统版块每日发帖之星
日期:2016-05-11 17:06:57程序设计版块每日发帖之星
日期:2016-05-11 17:06:57
发表于 2018-01-06 18:24 来自手机 |显示全部楼层
楼主确实没说清楚意思,没找到逻辑关系

论坛徽章:
130
操作系统版块每日发帖之星
日期:2016-05-11 17:06:57操作系统版块每日发帖之星
日期:2016-05-11 17:06:57数据库技术版块每日发帖之星
日期:2016-05-11 17:07:05操作系统版块每日发帖之星
日期:2016-05-11 17:06:57操作系统版块每日发帖之星
日期:2016-05-11 17:06:57综合交流区版块每日发帖之星
日期:2016-05-11 17:07:052022北京冬奥会纪念版徽章
日期:2015-08-07 17:10:57IT运维版块每日发帖之星
日期:2016-05-11 17:06:49操作系统版块每日发帖之星
日期:2016-05-11 17:06:57综合交流区版块每日发帖之星
日期:2016-05-11 17:07:05操作系统版块每日发帖之星
日期:2016-05-11 17:06:57程序设计版块每日发帖之星
日期:2016-05-11 17:06:57
发表于 2018-01-06 18:24 来自手机 |显示全部楼层
楼主确实没说清楚意思,没找到逻辑关系
您需要登录后才可以回帖 登录 | 注册

本版积分规则

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号 北京市公安局海淀分局网监中心备案编号:11010802020122
广播电视节目制作经营许可证(京) 字第1234号 中国互联网协会会员  联系我们:wangnan@it168.com
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP