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

阳狮做网站/网站免费推广的方法

阳狮做网站,网站免费推广的方法,龙岩招聘网最新招聘在龙岩的工作,做特卖的网站有问题描述回文串,是一种特殊的字符串,它从左往右读和从右往左读是一样的。小龙龙认为回文串才是完美的。现在给你一个串,它不一定是回文的,请你计算最少的交换次数使得该串变成一个完美的回文串。   交换的定义是:交换…

问题描述

回文串,是一种特殊的字符串,它从左往右读和从右往左读是一样的。小龙龙认为回文串才是完美的。现在给你一个串,它不一定是回文的,请你计算最少的交换次数使得该串变成一个完美的回文串。   交换的定义是:交换两个相邻的字符   例如mamad   第一次交换 ad : mamda   第二次交换 md : madma   第三次交换 ma : madam (回文!完美!) 输入格式   第一行是一个整数N,表示接下来的字符串的长度(N <= 8000)   第二行是一个字符串,长度为N.只包含小写字母 输出格式   如果可能,输出最少的交换次数。   否则输出Impossible 样例输入 5 mamad 样例输出 3

算法思路

由问题描述可以得知,有两种情况会输出“Impossible”,一种是当字符串长度为奇数且出现两个及两个以上出现次数为奇数个的字符,另一种是字符串长度为偶数但存在出现次数为奇数个的字符。当字符串具备构成一个完美的回文串条件时,我们可以从最左边的元素开始查找,然后从右向左查找能够和最左边元素匹配的字符,若匹配成功则将该字符交换至字符串的最右边,然后将从右边查找的标记下标减一并从紧邻最左边的第二个字符开始再次查找,依次类推直至两个索引标记相等。

算法实现

import java.util.Scanner;

public class Main{

public static void main(String[] args) {

Scanner input = new Scanner(System.in);

int num = input.nextInt();

String s = input.next();

int oldNum = 0;//判断是否已经存在一个单独的奇数个数的字符了

int cnt = 0;//总共交换次数

int end = num - 1;//字符串最后一个字符的下标

char[] chars = s.toCharArray();

for (int i = 0; i < end; i++) {

for (int j = end; j >= i; j--) {

if(i == j){//chars[i]未找到与之相等的字符

if(num % 2==0 || oldNum == 1){//字符串长度为偶数个且存在出现次数为奇数个的字符或者存在两个出现次数为奇数个的字符

System.out.println("Impossible");

return;

}

oldNum = 1;//字符串长度为奇数且找到一个字符出现的次数为奇数

cnt += num / 2 - i;//将奇次字符交换到中间位置的次数

}

if(chars[i]==chars[j]){//如果找到了,将chars[j]交换到最后

for (int k = j; k < end; k++) {

char t = chars[k];

chars[k] = chars[k + 1];

chars[k + 1] = t;

cnt++;

}

end--;//末尾递减

break;

}

}

}

System.out.println(cnt);

}

}

http://www.jmfq.cn/news/4842469.html

相关文章:

  • 客服做的比较好的网站/上海网站推广排名公司
  • 公司网站建设的工具/百度网盘app下载安装 官方下载
  • springboot企业网站开发/内容营销成功案例
  • 徐州做网站谁家最专业/营销方案策划
  • 十堰网站建设兼职/网络推广和网站推广平台
  • 上海找做网站公司/竞价网络推广培训
  • 宣传片制作公司价格/seo哪里有培训
  • 网站首页一般做多大尺寸/永久免费crm客户管理系统
  • 做网站公司关键词/虞城seo代理地址
  • 建设部安全事故通报网站/百度大盘指数
  • 网站页面怎么设计/全国疫情今天最新消息
  • 做钢材都有什么网站/那个推广平台好用
  • 美国设计网站/网站seo优化方案策划书
  • 都匀经济开发区建设局网站/网站建设免费
  • 国外的网站建设公司/站长工具国色天香
  • 网站建设面试表/bt磁力在线种子搜索神器
  • 地方生活门户网站有哪些/淘宝指数网址
  • 网站怎做百度代码统计/搜索热词排行榜
  • 公司做零申报在哪个网站上/合肥seo按天收费
  • 欧美一级A做爰片成电影网站/chatgpt 网址
  • 霍邱网站设计公司/自媒体发布平台有哪些
  • 做像百姓网这样网站多少钱/中国十大搜索引擎网站
  • 现在在百度做网站要多少钱/正规代运营公司
  • 网站设置的用途/考研培训机构排名前十
  • 家政网站制作/关键词排名代做
  • 企业信息网站模板/24小时网站建设
  • wordpress如何关闭自动更新/时空seo助手
  • 如何做网站呢/南昌百度推广公司
  • 温州做网站 掌熊号/最近国际时事热点事件
  • 最新设计网站大全/百度指数上多少就算热词