zoukankan      html  css  js  c++  java
  • 京东2015在线笔试 (1)

    题目

    这是京东商城2015年,研发类在线笔试程序设计第一题,题目描述如下:

    公司年终奖送礼品,小明要领取最多的礼物。领取方式如下:公司礼品放在一个6*6的二维矩阵式宫格中,每人从左上角为起点出发,每走一步可取走该格内的礼物,走到右下角位置,每次只能向右或向下走一步!

    给定测试数据如下:

    输入:一个6*6的矩阵

    200 120  400 150 180 300  
    150  250  360  120  200  130   
    350  300  250  100  500  260 
    100  150  260  320  100  150 
    500  130  260  100  200  170  
    160  100  250  200  600  200 

    输出: 3100

    分析

    这是类似于LeetCode中55 JumpGame的一道题目,算法思想即是动态规划;

    代码

    #include <iostream>
    #include <cstdlib>
    #include <vector>
    #include <algorithm>
    
    using namespace std;
    
    int getMax(const vector<vector<int> > &v)
    {
        if (v.empty())
            return 0;
        int m = v.size();
        int n = v[0].size();
        vector<vector<int> > maxV(m,vector<int>(n,0));
        //处理首行
        maxV[0][0] = v[0][0];
        for (int j = 1; j < n; j++)
            maxV[0][j] = maxV[0][j-1] + v[0][j];
    
        //处理首列
        for (int i = 1; i < m; i++)
            maxV[i][0] = maxV[i-1][0] + v[i][0];
    
        for (int i = 1; i < m; i++)
        {
            for (int j = 1; j < n; j++)
            {
                maxV[i][j] = max(maxV[i][j - 1], maxV[i - 1][j]) + v[i][j];
            }//for
        }//for
        return maxV[m-1][n-1];
    }
    int main()
    {
        vector<vector<int> > v = { { 200, 120, 400, 150, 180, 300 }, { 150, 250, 360, 120, 200, 130 }, {350,300,250,100,500,260},
        { 100, 150, 260, 320, 100, 150 }, { 500, 130, 260, 100, 200, 170 }, {160,100,250,200,600,200} };
    
        //vector<vector<int> > v(6, vector<int>(6, 0));
        /*int temp;
        for (int i = 0; i < 6; i++)
        {
            for (int j = 0; j < 6; j++)
            {
                cin >> temp;
                v[i][j] = temp;
            }
        }*/
    
    
        cout << getMax(v) << endl;
    
        system("pause");
        return 0;
    }

    忧伤的是,京东的OJ结果竟然是 80% 的正确率,并没有完全AC~~~

    看了多遍,百思不得其解~~~

    有大牛知道为什么的话,烦请告知! 谢谢~

    注:题目是听朋友描述,记录下来,日后参考!

  • 相关阅读:
    ReLu(Rectified Linear Units)激活函数
    限制Boltzmann机(Restricted Boltzmann Machine)
    栈式自动编码器(Stacked AutoEncoder)
    降噪自动编码器(Denoising Autoencoder)
    WebRequest/HttpWebRequest/HttpRequest/WebClient/HttpClient的区别
    JWT认证
    WebService概念和使用
    使用nvm安装node,全局npm,cnpm
    EF CodeFirst系列(8)---添加初始化数据和数据库迁移策略
    EF CodeFirst系列(7)--- FluentApi配置单个实体
  • 原文地址:https://www.cnblogs.com/shine-yr/p/5214845.html
Copyright © 2011-2022 走看看