zoukankan      html  css  js  c++  java
  • 一些笔试题目和整理的答案 腾讯(Tencent)

    一些笔试题目和整理的答案 - 腾讯(Tencent) 
      
      
    NO1 
    Below is usual way we find one element in an array 
    const int *find1(const int* array, int n, int x) 

         const int* p = array; 
         for(int i = 0; i < n; i++) 
         { 
             if(*p == x) 
             { 
                 return p; 
             } 
             ++p; 
         } 
         return 0; } 
    In this case we have to bear the knowledge of value type "int", the size of array, even the existence of an array. Would you re-write it using template to eliminate all these dependencies? 
      
    template <class T> 
    const T *find1(const T* array, int n, T x) 

         const T* p = array; 
         for(int i = 0; i < n; i++) 
         { 
             if(*p == x) 
             { 
                 return p; 
             } 
             ++p; 
         } 
         return 0; } 
      
    NO2 
      
    Give an example of implementing a Stack in the template way(only template class declaration without detail definition and realization) 
    template <class T> 
    class Stack 

    public: 
            Stack(int = 10) ;  
            ~Stack() { delete [] stackPtr ; } 
            int push(const T&);  
            int pop(T&) ;   
            int isEmpty()const { return top == -1 ; }  
            int isFull() const { return top == size - 1 ; }  
    private: 
            int size ;  // number of elements on Stack. 
            int top ;   
            T* stackPtr ;   
    } ; 
      
      
    NO3 
      
    Implement the simplest singleton pattern(initialize if necessary). 
    class Singleton { 
    public:  
         static Singleton* Instance(); 
    protected:  
         Singleton(); 
    private: 
         static Singleton* _instance; 

      
    // Implementation  
    Singleton* Singleton::_instance = 0; 
      
    Singleton* Singleton::Instance() { 
         if (_instance == 0) { 
             _instance = new Singleton; 
         } 
         return _instance; 

      
      
      
    NO4 
      
    1.Jeff and Diamond like playing game of coins, One day they designed a new set of rules: 
    1)Totally 10 coins 
    2)One can take away 1,2or 4 coins at one time by turns 
    3)Who takes the last loses. 
    Given these rules Whether the winning status is pre-determined or not 
      
      
    1:从后面开始考虑,最后肯定要留1个才能保证自己赢 
    2:所以要设法让对方留下2,3,5个 
    3:也就是要自己取后留下1,4,6,7,8,9 
    4:如果自己取后留下6,对方取2个,与(3)矛盾,所以排除6 
    5:如果自己取后留下8,对方取4个,与(3)一样情况,所以也排除8 
    6:同样,9也不行,如果我抽后剩下9,对方抽2个,就反过来成对方抽剩成7个了,也与3)矛盾,所以也排除 
    7:所以很显然,我只能抽剩1,4,7 
    8:因为只能抽后剩1,4,7才能赢,我先抽得话不可能达到这几个数,很显然,只能让对 
    方先抽,也即是先抽的人输 
      
    腾讯俱乐部:http://bbs.aftjob.com/group-47-1.html 
    2011年名企薪酬信息专版:http://bbs.aftjob.com/forum-37-1.html 
    -- 

  • 相关阅读:
    回滚事件只是让原数据看起来不变,但是id还是会自增吗?
    什么是Java中的原子操作( atomic operations)
    Java并发编程:volatile关键字解析
    对Java CAS的一些了解(正在整理学习中)
    问号和冒号----条件运算符, 问号冒号表达式
    对Java ConcurrentHashMap的一些了解
    Java HashMap的工作原理
    Java hashCode() 和 equals()
    Java 对比Hashtable、Hashmap、Treemap有什么不同?
    Java TreeMap详细介绍和使用示例
  • 原文地址:https://www.cnblogs.com/allenzhaox/p/3201788.html
Copyright © 2011-2022 走看看