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

山西省建设局网站淘宝关键词指数查询

山西省建设局网站,淘宝关键词指数查询,jsp网站制作,德邦公司网站建设特点题目:有 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/355025.html

相关文章:

  • 怎么做别人可以上的网站百度最怕哪个部门去投诉
  • 深圳自适应网站制作怎么自己弄一个平台
  • 网站建设小程序网站网络营销
  • wordpress网站流量统计插件搜索seo优化
  • 十大购物网站排名腾讯推广平台
  • 兰州市疫情防控最新要求天津seo培训机构
  • 协会网站建站安卓aso优化工具
  • 一个网站多少钱深圳网络推广引流
  • 桂林网站设计如何利用互联网宣传与推广
  • 做违法网站会怎样零售客户电商网站
  • 织梦网站怎么把index.html去掉杭州seo推广服务
  • erp系统一套大概多少钱福州网站优化公司
  • 重庆网站设计系统湖南正规关键词优化首选
  • 前端页面设计流程seo技术培训山东
  • 漳州做网站设计免费网站怎么做出来的
  • 创建一个网站流程长春seo排名扣费
  • 国外做网站用的程序网站开发软件
  • 用js做网站的滚屏效果百度会员登录入口
  • 施工企业岗位证书有哪些seo推广公司有哪些
  • 石家庄网站开发公司电话推广方案经典范文
  • 蒙城网站建设鄞州seo整站优化服务
  • 南阳网站制作郑州网站开发公司
  • 义乌网站制作是什么网上代写文章一般多少钱
  • 农业建设信息网站网址查询站长工具
  • 江苏城乡建设部网站保定seo排名外包
  • 国内扁平化网站设计公司
  • 请人帮忙做淘宝网站多少钱西安百度seo推广
  • 厦门英文网站建设制作一个app软件需要多少钱
  • 南京行业网站建设河南网站建设定制
  • 集团为什么做网站优化关键词的公司