zoukankan      html  css  js  c++  java
  • 一些小技巧的面试题

    1、实现一个函数int sign(INT32 x),对x>0返回1;x==0返回0;x<0返回-1。不允许用任何形式的判断,分支,跳转指令或语句。

         (1)   return  x*2/(|x|+1)。

                    缺点是有溢出的风险,x的值不能太大。或者将X转化成64位的值来临时存储处理。

         (2)  return (x>0) - (x&0x80000000 == 0x800000000)。

                    这个依赖于bool和整形之间的转换,不知道true转换成1是不是c/c++标准定义。

    2、a,b不进行比较,输出最大,最小值。

         (1)  int max(int a, int b) :  return (a+b+abs(a-b))/2;

               int min(int a, int b) : return (a+b-abs(a-b))/2;

         (2) 如果ab皆为正整数的话:

              max(a,b):   int array[2] = {a,b}; return array[b/a];

              min(a,b):    int array[2] = {a,b}; return array[a/b];

    3 、只允许使用一个循环先输出1至10内的奇数然后输出其中的偶数结果应该是这样的:135792468

          (1) for (int i=0; i<9; i++)

              {

               int a = 2*i+1;

               if (a <= 9 )

                   cout<<a%10

               else

                   cout<<a%9

              }

          (2)for (int i=1; i<10; i+=2)

              {

               count i;

               if (i==9) i = 0;

              }

    4、求除8余数的简化方法

          a&7; 对于 b=2的冥,求a处以b的余数都可以用 a&(b-1)

    2、(迅雷笔试题)迅雷进行一个活动,这个活动需要客户端访问我们服务器。但活动为了限制访问量,做了如下规定,那就是每一个帐户在3600秒内只能参加不多于5次。请 实现类c_user_enabled,完成此限制功能。
    类接口定义:
    Class c_user_enabled
    {
    Public:
    Bool init();
    Bool is_user_enabled(string user_name);// user_name表示用户帐户标识
    Bool destroy();
    };

    附:
    需要考虑线程安全
    可以使用stl.
    可以使用如下的一个hash函数:
    Unsigned str_hash(string str);
    可以使用如下锁:
    Class c_lock
    {
    Public:
    Void lock();
    Void unlock();
    Private:
    …;
    };

    1.假设电信每分钟登录次数是60w次,现在要提醒5分钟内重复登录的用户,如何设计程序缓存和查找算法?

    2.QQ数据库的用户信息表现 在有5亿多条记录,现在请给出怎么样设计,使通过QQ号码查询QQ用户信息的速度更快。。用怎么样的算法算出查询大概需要多少的系统开销。

    3. 到商店里买200的商品返还100优惠券(可以在本商店代替现金)。请问实际上折扣是多少?

  • 相关阅读:
    UVa 1349 (二分图最小权完美匹配) Optimal Bus Route Design
    UVa 1658 (拆点法 最小费用流) Admiral
    UVa 11082 (网络流建模) Matrix Decompressing
    UVa 753 (二分图最大匹配) A Plug for UNIX
    UVa 1451 (数形结合 单调栈) Average
    UVa 1471 (LIS变形) Defense Lines
    UVa 11572 (滑动窗口) Unique Snowflakes
    UVa 1606 (极角排序) Amphiphilic Carbon Molecules
    UVa 11054 Wine trading in Gergovia
    UVa 140 (枚举排列) Bandwidth
  • 原文地址:https://www.cnblogs.com/longhuihu/p/10423415.html
Copyright © 2011-2022 走看看