当前位置: 首页 > wzjs >正文

山西省建设局网站seo网站推广专员

山西省建设局网站,seo网站推广专员,展厅设计方案100例,网站开发工作室题目:有 N 个瓶子,编号 1 ~ N,放在架子上。 比如有 5 个瓶子: 2 1 3 5 4 要求每次拿起 2 个瓶子,交换它们的位置。 经过若干次后,使得瓶子的序号为: 1 2 3 4 5 对于这么简单的情况&#x…

题目:有 N 个瓶子,编号 1 ~ N,放在架子上。

比如有 5 个瓶子:

2 1 3 5 4

要求每次拿起 2 个瓶子,交换它们的位置。

经过若干次后,使得瓶子的序号为:

1 2 3 4 5

对于这么简单的情况,显然,至少需要交换 2 次就可以复位。

如果瓶子更多呢?你可以通过编程来解决。

输入描述

输入格式为两行:

第一行: 一个正整数 N (N<104), 表示瓶子的数目

第二行: N个正整数,用空格分开,表示瓶子目前的排列情况。

输出描述

输出数据为一行一个正整数,表示至少交换多少次,才能完成排序。

输入输出样例

示例

输入

5
3 1 2 5 4

输出

3

解题思路+代码:

代码:

import java.util.Scanner;
// 1:无需package
// 2: 类名必须Main, 不可修改public class Main {public static void main(String[] args) {/**思路:冒泡排序1.读取输入的N个瓶子存放进数组2.遍历输入的N个瓶子,再利用数组进行冒泡排序交换,记录交换的次数*/Scanner scan = new Scanner(System.in);int n = scan.nextInt();int[] arr = new int[n+1]; //防止边界溢出//遍历输入的N个瓶子存放到数组arrfor(int i = 1;i<=n;i++){arr[i] = scan.nextInt();}//记录需要交换的次数int count = 0;//遍历输入的N个瓶子for(int i = 1 ;i<=n;i++){while(arr[i] != i) {int temp = arr[i];//辅助变量//进行交换arr[i] = arr[temp];arr[temp] = temp;count++;}}System.out.println(count);scan.close();}
}

 总结:这道题需要理解题目中的两两交换排序就是冒泡排序,知道是冒泡排序的解法调动学过的数组知识,在理清交换的逻辑就可以很好地解答该题了。

http://www.dtcms.com/wzjs/335705.html

相关文章:

  • 做高端网站的公司百度站长平台官网登录入口
  • 爱狼戈网站建设提交百度收录
  • 手机网站做安卓客户端企业网站建设方案策划书
  • 有做火币网这种网站的吗优化网站关键词优化
  • 武汉专业网站做网页云南疫情最新数据消息中高风险地区
  • 专业网站的公司蚂蚁链接bt链接
  • 兰州网站建设公司排名信息流优化师简历怎么写
  • 网站登记表百度发作品入口在哪里
  • 张店区创业孵化中心有做网站的吗游戏网站交换友情链接
  • 什么企业做网站比较好百度sem推广
  • 如何做网站滚动条怎样下载优化大师
  • 网站的费用可以做无形资产吗百度网址大全
  • 做网站友情链接都写什么seo优化技术招聘
  • 重庆市建设安全监督站的网站精准推广
  • 网站优化指标长治seo顾问
  • 企业网站设计请示什么时候友情链接
  • 产品展示类网站模板今日热点新闻事件2022
  • 咔咔做受视频网站做网站公司哪家正规
  • 中山做企业网站临沂百度联系方式
  • 云南红舰工贸有限公司的网站建设百度竞价优化软件
  • 做网站在哪里建站合肥网络公司seo
  • 褚橙的网站建设东莞seo建站优化工具
  • 做网站用云虚机还是ecs免费的html网站
  • 常用来做网站首页的是最近新闻有哪些
  • 国外一个专门做配乐的网站怎么买域名自己做网站
  • 泰州网站设计公司制作app软件平台
  • 郑州一网网站建设怎么优化网站性能
  • 网站备案相机百度seo怎么操作
  • 企业网站内容运营seo一个月赚多少钱
  • 万盛经开区建设局网站搜索引擎排名优化seo