zoukankan      html  css  js  c++  java
  • 阿里巴巴-2015秋招研发工程师附加题

    1

    public static void main()
    {
        int box=500000;
        string User;
        try
        {
        for(int i=1;i<32767;i++)
        {
            if(user[i].getPoint>99 && user[i].getNBox()=0)
            {
                box--;
                user[i].setNBox()=1;
                user[i].setPoint();
            }
            else
            {
                System.out.println("User:"+user[i].name+"don't have enough point. ");
            }
        }
        catch
        {
            System.out.println("下单失败");
        }
    }
    class user
    {
    public:
        int id;
        string name;
        int getPoint();
        int getBox();
    private:
        int point=99;
        int nBox=0;
    }
    第一题:数据库的设计需要设计一个Use(ID,UserName,Point,nBox),然后还需要建立一个下
    单列表Order(ID,UserName,BoolOfOrder)
    其中,第一个数据表的每个元祖是用来存储每一条用户的信息的,而第二个表的每一条元组
    是用来存储每一个下单成功的订单的信息。
    第二题:瓶颈是当用户量大的时候对于数据表的检索要考虑到数据库结构的设计,所有这是
    最大的瓶颈,这时候就要吧所有用户映射到一个散列表中,然后在对散列表进行查找,这时
    候就会提高效率。
    第三题:数据库事务是需要的,在扣减用户积分和增加用户换的的磨合数量需要同时进行,所以需要数据库食物。

    2

    #include <stdio.h>//头文件
    #include <stdlib.h>
    #include <malloc.h>
    #include <math.h>
    //定义结构体
    typedef struct BiTNode
    {
        int data;
        struct BiTNode *lchild;
        struct BiTNode *rchild;
    }

    BiTNode,*BiTree;//定义结点类型
    int max=-32767;//把max定义得足够小
    int min=32768;//把min定义得足够大
    BiTree CreateBiTree()//先序递归创建树
    {
        int p;BiTree T;
        scanf("%d",&p);//注意每输入两个值的时候用空格各隔开
        if(p==0)
            T=NULL;
        else
        {
            T=(BiTNode *)malloc(sizeof(BiTNode));//为结点开辟空间
            T->data=p;
            T->lchild=CreateBiTree();
            T->rchild=CreateBiTree();
        }
        return (T);
    }
    int Max(BiTree T)//求最大(递归算法)
    {
         if(T==NULL)
         return 0;
        if(T!=NULL)
       {
           if(T->data>max)
           max=T->data;
           Max(T->lchild);
           Max(T->rchild);
         
        }
        return max;
    }
    int Min(BiTree T)//求最大(递归算法)
    {
         if(T==NULL)
           return 0;
        if(T!=NULL)
        {
           if(T->data>min)
           min=T->data;
           Min(T->lchild);
           Min(T->rchild);
         
        }
        return max;
    }
    void main()//主函数
    {
        BiTree Ta;
        Ta=CreateBiTree();
        int maxEle_BiTree=Max(Ta);
        int minEle_BiTree=Min(Ta);
        printf("二叉树的节点中相差最大的两个节点之间的插值绝对值为:%d ",abs(maxEle_BiTree-minEle_BiTree));
        
       }

    3

    char * search(char *cpSource, char ch)
    {
    char *cpTemp=NULL, *cpDest=NULL;
    int iTemp, iCount=0;
    while(*cpSource)
    {
    if(*cpSource == ch)
    {
    iTemp = 0;
    cpTemp = cpSource;
    while(*cpSource == ch)
    ++iTemp, ++cpSource;
    if(iTemp > iCount)
    iCount = iTemp, cpDest = cpTemp;
    if(!*cpSource)
    break;
    }
    ++cpSource;
    }
    return cpDest;
    }

  • 相关阅读:
    Unity3D技术之从 Cinema 4D 中导入对象浅析
    Unity3D技术之从 Maya 中导入对象浅析
    如何在Unity中实现文字的渐隐效果?
    在Unity中如何实现重复循环效果?
    如何在Unity中显示当前游戏运行帧数?
    Unity3D技术之资源数据库 (AssetDatabase)详解
    PaaS和SaaS的区别是什么?
    数据库链接失败错误ERROR com.alibaba.druid.pool.DruidDataSource
    WampServer3.0服务器端开启ssl认证后重启Apache失败,解决办法
    在SublimeText3中想使用快捷键调出插件ColorPicker不起作用办法解决
  • 原文地址:https://www.cnblogs.com/AmatVictorialCuram/p/3945765.html
Copyright © 2011-2022 走看看