leetcode:984. 不含 AAA 或 BBB 的字符串(贪心)

题目:

在这里插入图片描述

分析:

又是放位置的问题。很有思路:
现放个数少的,放到2,5。。。放完放0,3.。。。剩下的放多的即可。
更简单一点,直接初始化为多的

代码:

char c1='b';
 char c2='a';
 int n1=B;
 int n2=A; 
 if(A>B) 
 {
  c1='a';
  c2='b';
  n1=A;
  n2=B;
 }
 string ss(A+B,c1);
 //添加n2个c2 
 int all=(ss.length()-1+1)/3;
 //0 1 2 | 3 4 5 | 6 7      5 6 7都归结为 5   x+1 /3 *3 
 for(int i=2;i<(ss.length()-1+1)/3*3;i=i+3)
 {
  ss[i]=c2;
  } 
 int c=0;
 while(1)
 {
  if(all==n2) break;
  ss[c]=c2;
  c=c+3;
  all++;
 }

成就:本次寒假第二个了

在这里插入图片描述

发布了51 篇原创文章 · 获赞 20 · 访问量 674

猜你喜欢

转载自blog.csdn.net/weixin_42721412/article/details/104104772