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

杭州网站设计公司推荐做抖音seo排名软件是否合法

杭州网站设计公司推荐,做抖音seo排名软件是否合法,免费做会计试题网站,网站建设维护是干什么重新排列字符串s中的字母,使得任意两个相邻的字母都不相同。 思路: 让相邻字母不同,能想到的办法是先把相同的字母排列, 然后在相同字母的缝隙中插入另一种字母。 比如"aab", 先把"a a"排出来,再…

在这里插入图片描述
重新排列字符串s中的字母,使得任意两个相邻的字母都不相同。

思路:

让相邻字母不同,能想到的办法是先把相同的字母排列,
然后在相同字母的缝隙中插入另一种字母。
比如"aab", 先把"a a"排出来,再在2个a的缝隙中插入b,得到"aba".

那么就需要统计每个字母出现的次数。
为了让能插入字母的缝隙,排列时中间空一位,也就是先把出现最多的字母放在偶数位,
如果不够放就折回来到奇数位,所以字母出现次数不能超过s长度的一半,
不然折回来就是相同字母了。字母的出现次数超过s一半的直接返回“”。

而且一定要先排出现最多的字母(可以试试example1中先排b)。

可以用一个优先队列按字母出现的次数从大到小排列。然后一一取出排列。
也可以只找到出现次数最多的字母,先排列,再直接按顺序排剩下的。

优先队列:

    public String reorganizeString(String s) {HashMap<Character,Integer> map = new HashMap<>();char[] chs = s.toCharArray();//按字母出现的次数倒序排列PriorityQueue<Character> pq = new PriorityQueue<>((a,b)->(map.get(b)-map.get(a)));char[] res = new char[s.length()];for(char c : chs) {map.put(c, map.getOrDefault(c, 0)+1);}pq.addAll(map.keySet());//出现频率最多的字母多于字符串长度的一半if(map.get(pq.peek()) > (s.length()+1)/2) return "";int i = 0;while(!pq.isEmpty()) {char c = pq.poll();for(int j = 0; j < map.get(c); j++) {if(i >= s.length()) i = 1;  //偶数位放满,开始放奇数位res[i] = c;i += 2;}}return new String(res);}

只先排出现次数最多的,剩下的按顺序排。此方法更快。

    public String reorganizeString(String s) {int[] cnt = new int[26];char[] chs = s.toCharArray();int n = chs.length;char[] res = new char[n];for(int i = 0; i < n; i++) cnt[chs[i]-'a']++;//找到出现次数最多的字母和次数int maxCnt = 0;int freqCh = 0;for(int i = 0; i < 26; i++) {if(cnt[i] > maxCnt) {maxCnt = cnt[i];freqCh = i;}}if(maxCnt > (n+1)/2) return "";//先排出现最多的字母,不然可能会出现奇数位和偶数位是同一字母的情况int idx = 0;while(cnt[freqCh] > 0) {res[idx] = (char)(freqCh + 'a');idx += 2;cnt[freqCh] --;}for(int i = 0; i < 26; i++) {while(cnt[i] > 0) {if(idx >= n) idx = 1;res[idx] = (char)(i+'a');idx += 2;cnt[i] --;}}return new String(res);}
http://www.khdw.cn/news/20697.html

相关文章:

  • 山东天成水利建设 网站口碑营销名词解释
  • 服务器做的网站 怎么使用优化大师是干什么的
  • 宝安做网站怎么样培训机构营业执照如何办理
  • 装修高端网站建设seo服务靠谱吗
  • 网站制作国际连锁网站设计公司模板
  • 如何做自己官方网站谷歌搜索引擎免费入口 香港
  • c 网站开发教程 购物网站电商平台怎么做
  • 骗子会利用钓鱼网站做啥做好网络推广
  • 辽宁城乡建设部网站首页网站建设推广多少钱
  • seo网站建设关键词排名优化价格
  • 辽宁省建设培训中心网站女教师遭网课入侵直播录屏曝光i
  • app网站建设手机APP软件开发优化设计数学
  • 宣传推广方案范文seo上首页排名
  • 郑州网站建设模板制作网站seo软件
  • 合肥做网站推广友链价格
  • 威海做网站whhl网络推广有哪些常见的推广方法
  • mac下搭建wordpress长沙优化科技有限公司正规吗
  • 网站企业案例吸引人的软文
  • 新增备案网站要关闭吗面点培训学校哪里有
  • 如何用微信小程序做网站便民信息微信平台推广
  • 通过网站做外贸白嫖永久服务器
  • 网站建设学多长时间网销平台排名
  • 当当网网站开发计划和预算智谋网站优化公司
  • 可以做图的网站手机网站制作教程
  • 梅州网站开发baidu 今日头条
  • 开发软件网站东莞今天新增加的情况
  • 网站开发具体步骤如何优化seo技巧
  • 怎么修改网站域名网站的优化
  • 下载一个app软件西安seo外包服务
  • 海口做网站公司怎么找拉新推广平台