百度研究開発エンジニアの面接問題

4894 ワード

C++       ?   long int  4  ?
     char、short、bool、int、long、float、double,long long ,      int long  4   , 16   int  2   ,  64   long 8   。C++  int          short    ,    long    ,      2  。
long          int ,      4  。

2 JAVA C++      ?           ?
java      ,         .class     ,  JVM  
c++      ,                    
  java     c++ 
  java     ,    ,    
C++        
c++   ,java  
c++      ,java  ,  java     ,             c++       
   : C++  ,        ; JAVA  ,  JVM。
    : C++ ;JAVA ,      。
    :
C++:                。
JAVA:           , ERP, WEB 。

3    :             ,        ,  abc cba     。
[cpp] view plaincopy CODE              
// language : C++ #include   
using namespace std;  
  
class Solution {  
public:  
    vector > solve(vector str) {  
        vector > ret;  
        unordered_map Map;  
            for(int i = 0; i < str.size(); ++i) {  
                int tmp = Map[str[i]];  
                if(tmp == 0) {  
                    Map[str[i]] = 1;  
                }  
                if(tmp == 1) {  
                    string tmpstr = str[i];  
                    reverse(str[i].begin(), str[i].end());  
                    if(Map[str[i]] == 1) {  
                        ret.push_back(make_pair(tmpstr, str[i]));  
                        Map[str[i]] = Map[tmpstr] = 2;  
                    }  
                }  
            }  
        }  
        return ret;  
    }  
};  

4       n,  n=3,  1 n    , 1 9,     ,          。
[cpp] view plaincopy CODE              
/* 
n      : 
    1.   1        
    2.              
    2.1            (3,4) 
    2.2            (1,2) 
    2.3                 (  5,6) 
*/  
#include  
#include  
using namespace std;  
   
int map[20][20];  
int main()  
{  
    int n,i,j,k;;  
    while(cin>>n)  
    {  
        memset(map,0,sizeof(map));  
        i=1;  
        j=n/2+1;  
        map[i][j]=1;  
          
        for(k=2;k<=n*n;k++)  
        {  
            if(j+1<=n&&i-1>=1)//      
            {  
                if(map[i-1][j+1]==0)  
                {  
                    i--;  
                    j++;  
                }  
                else//      
                {  
                    i++;  
                }  
            }  
            else if(j+1>n&&i-1<=0)//       
            {  
                if(map[n][1]==0)  
                {  
                    i=n;  
                    j=1;  
                }  
                else//      
                {  
                    i++;  
                }   
            }  
            else if(j+1>n)  
            {  
                j=1;  
                i--;  
            }  
            else  
            {  
                i=n;  
                j++;  
            }  
            map[i][j]=k;  
        }  
        for(i=1; i<=n; i++)  
        {  
            for(j=1; j<=n; j++)  
            {  
                cout<a1,a2,a3;
     b1,b2,b3,b4,b5;------>b1,b2,b3;
     c1,c2,c3,c4,c5;------>c1,c2,c3;  
     d1,d2,d3,d4,d5;------>d1,d2,d3;  
     e1,e2,e3,e4,e5;------>e1,e2,e3;
     a1,b1,c1,d1,e1;------> a1 ,b1,c1
     a2,a3,b1,b3,c1;------> a2,a3 ;

7  c++   stl  string ,    ,    ,  ,  ,  ,     ,          。

[cpp] view plaincopy CODE              
#include   
#include   
classString  
{  
public:  
    String():data_(newchar[1])  
    {  
        *data_ = '\0';  
    }  
    String(const char * str):data_(newchar[strlen(str) + 1])  
    {  
        strcpy(data_, str);  
    }  
    String(const String & rhs)  
        : data_(newchar[rhs.size() + 1])  
    {  
        strcpy(data_, rhs.c_str());  
    }  
    /* Delegate constructor in C++11 
    String(const String& rhs):String(rhs.data_) 
    { 
    } 
    */  
    ~String()  
    {  
        delete[] data_;  
    }  
    /* Traditional: 
    String& operator=(const String& rhs) 
    { 
        String tmp(rhs); 
        swap(tmp); 
        return *this; 
    } 
    */  
    String &operator=(String rhs)// yes, pass-by-value  
    {  
        swap(rhs);  
        return*this;  
    }  
    // C++ 11  
    String(String &&rhs): data_(rhs.data_)  
    {  
        rhs.data_ = nullptr;  
    }  
    String &operator=(String && rhs)  
    {  
        swap(rhs);  
        return*this;  
    }  
    // Accessors  
    size_t size() const  
    {  
        return strlen(data_);  
    }  
    const char * c_str() const  
    {  
        return data_;  
    }  
    void swap(String & rhs)  
    {  
        std::swap(data_, rhs.data_);  
    }  
private:  
    char *data_;  
};