2018秋招blibli算法工程师

我给出代码如下:和之前做数塔(dp的入门题目)的思路一致
dp[i][j]为走到坐标(i,j)的最小减速(只有向右走和向上走两种情况)
#include<stdio.h>
#include<stdlib.h>
#include<iostream>
#include <algorithm>
using namespace std;
const int maxn=;
int dp[maxn][maxn];
int main()
{int n;
scanf("%d",&n);
for(int i=;i<n;i++)
for(int j=;j<n;j++)
cin>>dp[i][j]; for(int i=;i<n;i++)//因为不走回头路所以最上面的一行和最左面一列只有一种情况
{
for(int j=;j<n;j++)
{
if(i==&&j>=)dp[i][j]+=dp[i][j-];
else if(j==&&i>=)dp[i][j]+=dp[i-][j];
else if(i>=&&j>=) dp[i][j]+=min(dp[i][j-],dp[i-][j]);
}
}
//测试
// for(int i=0;i<n;i++)
// {
// for(int j=0;j<n;j++)
// cout<<dp[i][j]<<" ";
// cout<<endl;
// }
cout<<dp[n-][n-]<<endl; return ;
}

个人代码如下:
#include<stdio.h>
#include<stdlib.h>
#include<iostream>
#include<string>
#include <algorithm>
using namespace std;
const int maxn=;
int main()
{
string s1,s2;
int ver1[maxn];//把版本数字分离出来放在数组中
int ver2[maxn];
cin>>s1>>s2;
fill(ver1,ver1+maxn,);
fill(ver2,ver2+maxn,);
int top1=,top2=;
int sum=;
for(int i=;i<s1.size();i++)
{ if(s1[i]!='.')
{
sum=sum*+(s1[i]-'');
}
if(s1[i]=='.'||i==s1.size()-)
{
ver1[top1]=sum;
top1++;
sum=;
} }sum=;
for(int i=;i<s2.size();i++)
{
if(s2[i]!='.')
{
sum=sum*+(s2[i]-'');
}
if(s2[i]=='.'||i==s2.size()-)
{
ver2[top2]=sum;
top2++;
sum=;
} }
int f=;
for(int i=;i<(top1>=top2? top1:top2);i++)
{
if(ver1[i]>ver2[i]) {
f=;break;
}
if(ver1[i]<ver2[i]){
f=-;break;
} }cout<<f<<endl; return ;
}

解题思路:和之前写1-n*n的思路差不多,只不过这次我没有加围墙是加了一个访问数组进行判断
加围墙的思路:https://www.cnblogs.com/cstdio1/p/10903090.html
代码如下:
#include <iostream>
#include<string>
#include<cstring>
#include<algorithm>
using namespace std;
const int maxn=;//之前maxn给的10005内存超限
int a[maxn][maxn];
bool vis[maxn][maxn];//是否访问数组 int main ()
{
int m,n;//m行n列的矩阵
int i,j; while(cin>>m&&cin>>n&&m!=-&&n!=-){ for(i=;i<m;i++)
for(j=;j<n;j++)
cin>>a[i][j]; int cnt=;//计算输出元素个数
memset(vis,,sizeof(vis));//重置标志数组
i=;j=;//初始化起点坐标
while(cnt<n*m)
{
while(j<n&&!vis[i][j])//turn right
{
cout<<a[i][j]<<(cnt==n*m-? "":",");
vis[i][j]=true;
j++;cnt++;
}i++;j--;//和之前我写1-n*n填数是一样的 while(i<m&&!vis[i][j])//turn down
{
cout<<a[i][j]<<(cnt==n*m-? "":",");
vis[i][j]=true;
i++;cnt++;
}i--;j--; while(j>=&&!vis[i][j])//turn left
{
cout<<a[i][j]<<(cnt==n*m-? "":",");
vis[i][j]=true;
j--;cnt++;
}i--;j++; while(i>=&&!vis[i][j])//turn up
{
cout<<a[i][j]<<(cnt==n*m-? "":",");
vis[i][j]=true;
i--;cnt++;
}i++;j++; }cout<<endl; } }
2018秋招blibli算法工程师的更多相关文章
- 美团Java工程师面试题(2018秋招)
第一次面试 1.小数是怎么存的 2.算法题:N二进制有多少个1 3.Linux命令(不熟悉 4.JVM垃圾回收算法 5.C或者伪代码实现复制算法 6.volatile 7.树的先序中序后序以及应用场景 ...
- 2018秋招C/C++面试题总结
一.C和C++的区别是什么? C是面向过程的语言,C++是在C语言的基础上开发的一种面向对象编程语言,应用广泛.C中函数不能进行重载,C++函数可以重载C++在C的基础上增添类,C是一个结构化语言,它 ...
- 京东2018秋招c++岗 神奇数
题意大概是: 一个数比如242,把所有数字分成两组,而且两组的和相等,那么这个数就是神奇数,此时242,能够分成{2,2}和{4},所以242是神奇数. 题目要求输入n和m求[n,m]区间内神奇数的个 ...
- 我的2018:OCR、实习和秋招
真的是光阴似箭,好像昨天还沉浸在考研成功的喜悦,今天却要即将步入2019年,即将硕士毕业.老规矩,还是在每一年的最后一天总结今年以及展望明年.回首2018,经历的东西特别多,视野也开阔了不少,可以说, ...
- 算法是什么我记不住,But i do it my way. 解一道滴滴出行秋招编程题。
只因在今日头条刷到一篇文章,我就这样伤害我自己,手贱. 刷头条看到一篇文章写的滴滴出行2017秋招编程题,后来发现原文在这里http://www.cnblogs.com/SHERO-Vae/p/588 ...
- 算法转 Java 后端,2021秋招斩获腾讯、京东、百度等大厂 offer 面经分享!|JavaGuide|Guide哥
这是一篇来自算法转Java后端的一位读者的投稿!文章主要分享了作者从迷茫崩溃到最终斩获腾讯.京东.百度等大厂 offer 的经历.文章内容很全面.真实,相信可以对正在准备面试的小伙伴有帮助! 看到公众 ...
- 2021字节跳动校招秋招算法面试真题解题报告--leetcode19 删除链表的倒数第 n 个结点,内含7种语言答案
2021字节跳动校招秋招算法面试真题解题报告--leetcode19 删除链表的倒数第 n 个结点,内含7种语言答案 1.题目描述 给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点. ...
- Java秋招面经大合集
微信公众号[程序员江湖] 作者黄小斜,斜杠青年,某985硕士,阿里 Java 研发工程师,于 2018 年秋招拿到 BAT 头条.网易.滴滴等 8 个大厂 offer,目前致力于分享这几年的学习经验. ...
- 我的秋招经验分享(已拿BAT头条网易滴滴)
微信公众号[程序员江湖] 作者黄小斜,斜杠青年,某985硕士,阿里 Java 研发工程师,于 2018 年秋招拿到 BAT 头条.网易.滴滴等 8 个大厂 offer,目前致力于分享这几年的学习经验. ...
随机推荐
- python的多版本安装以及常见错误(长期更新)
(此文长期更新)Python安装常见错误汇总 注:本教程以python3.6为基准 既然是总结安装过程中遇到的错误,就顺便记录一下我的安装过程好了. 先来列举一下安装python3.6过程中可能需要的 ...
- Bootstrap 表单控件状态(验证状态)
在制作表单时,不免要做表单验证.同样也需要提供验证状态样式,在Bootstrap框架中同样提供这几种效果.1..has-warning:警告状态(黄色)2..has-error:错误状态(红色)3.. ...
- TCriticalSection(Delphi)
临界区对象TCriticalSection(Delphi) 与 TRtlCriticalSection 的区别 临界区对象TCriticalSection(Delphi) 与 TRtlCritical ...
- 【ACM】poj_2092_Grandpa is Famous_201308021920
Grandpa is FamousTime Limit: 2000MS Memory Limit: 30000K Total Submissions: 7256 Accepted: 3670 De ...
- 洛谷—— P1784 数独
https://www.luogu.org/problem/show?pid=1784 题目描述 数独是根据9×9盘面上的已知数字,推理出所有剩余空格的数字,并满足每一行.每一列.每一个粗线宫内的数字 ...
- 洛谷 P3252 [JLOI2012]树
P3252 [JLOI2012]树 题目描述 在这个问题中,给定一个值S和一棵树.在树的每个节点有一个正整数,问有多少条路径的节点总和达到S.路径中节点的深度必须是升序的.假设节点1是根节点,根的深度 ...
- Spring MVC-概述(转载实践)
以下内容翻译自:https://www.tutorialspoint.com/springmvc/springmvc_overview.htm 说明:示例基于Spring MVC 4.1.6. Spr ...
- JavaThread等待/通知经典范式
JavaThread等待/通知经典范式 package com.stono.thread; import java.text.SimpleDateFormat; import java.util.Da ...
- sikuli+eclipse实例
设置sikuli环境变量 如果在执行脚本的时候出现以下错误: Getting the VisionProxy.dll: Can not find dependent libraries... 把Sik ...
- (转)Android开发书籍推荐:从入门到精通系列学习路线书籍介绍
Android开发书籍推荐:从入门到精通系列学习路线书籍介绍 转自:http://blog.csdn.net/findsafety/article/details/52317506 很多时候我们都会不 ...