博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
2、度度熊回家--百度2017春招
阅读量:5259 次
发布时间:2019-06-14

本文共 1027 字,大约阅读时间需要 3 分钟。

[编程题] 度度熊回家
时间限制:1秒
空间限制:32768K
一个数轴上共有N个点,第一个点的坐标是度度熊现在位置,第N-1个点是度度熊的家。现在他需要依次的从0号坐标走到N-1号坐标。
但是除了0号坐标和N-1号坐标,他可以在其余的N-2个坐标中选出一个点,并直接将这个点忽略掉,问度度熊回家至少走多少距离? 
输入描述:
输入一个正整数N, N <= 50。
接下来N个整数表示坐标,正数表示X轴的正方向,负数表示X轴的负方向。绝对值小于等于100
 
 
输出描述:
输出一个整数表示度度熊最少需要走的距离。
 
输入例子:
4 1 4 -1 3
 
输出例子:
4
 
解题思路:本题分别求删除第一个点到第n-2个点的distance 然后选出最小的distance
1)采用两层循环,第一层控制删除的点从1-n-2 第二层循环j从1到n-1 求出从0-n-1去掉删除的点的distance
2)其中用k记录当前位置的前一个位置的索引(用k记录原因为可能为j-1 或者j-2 如果j-1删除了则为j-2)
3)使用min_dis记录最小的距离值
注意点:每次二层循环时,记得中间变量distance  以及 k  的重置操作
 
1 #include 
2 #include
3 using namespace std; 4 5 int main() 6 { 7 int n; 8 while(cin>>n) 9 {10 int a[n];11 for(int i=0;i
>a[i];14 }15 int min_dis = 0;16 int distance = 0;17 int k = 0;//记录上一位置18 //从i=1 到i=n-2 每次删除一个19 for(int i=1;i<=n-2;i++)20 {21 distance = 0;22 k = 0;23 for(int j=1;j

 

 

转载于:https://www.cnblogs.com/qqky/p/6894549.html

你可能感兴趣的文章
树状数组及其他特别简单的扩展
查看>>
zookeeper适用场景:分布式锁实现
查看>>
110104_LC-Display(液晶显示屏)
查看>>
httpd_Vhosts文件的配置
查看>>
php学习笔记
查看>>
普通求素数和线性筛素数
查看>>
PHP截取中英文混合字符
查看>>
【洛谷P1816 忠诚】线段树
查看>>
电子眼抓拍大解密
查看>>
poj 1331 Multiply
查看>>
tomcat7的数据库连接池tomcatjdbc的25个优势
查看>>
Html 小插件5 百度搜索代码2
查看>>
P1107 最大整数
查看>>
多进程与多线程的区别
查看>>
Ubuntu(虚拟机)下安装Qt5.5.1
查看>>
java.io.IOException: read failed, socket might closed or timeout, read ret: -1
查看>>
java 常用命令
查看>>
CodeForces Round #545 Div.2
查看>>
卷积中的参数
查看>>
51nod1076 (边双连通)
查看>>