{/u0022title/u0022: /u0022Count Distinct Strings After Operations - LeetCode Solution/u0022, /u0022description/u0022: /u0022This C++ code solves a problem where you have a string 's' and make 'm' copies of it. Each copy undergoes a sorting operation on a specific substring. The goal is to count the number of distinct strings after these operations. The solution includes an efficient algorithm for finding the unique strings and outputting their indices./u0022, /u0022keywords/u0022: /u0022C++, LeetCode, String Manipulation, Sorting, Distinct Strings, Algorithm Optimization/u0022, /u0022content/u0022: /u0022#include/n#include/n#include/nusing namespace std;/nconst int N=5e5;/nint a[N],b[N];/nint t,n,m,sum;/nbool tr(int n){/n/tfor(int i=1;i<=n;i++){/n/t/tif(a[i]>0)return false;/n/t}/n/treturn true;/n}/nint main(){/n/tcin>>t;/n/twhile(t--){/n/t/tsum=0;/n/t/tcin>>n>>m;/n/t/tmemset(a,0,sizeof(a));/n/t/tmemset(b,0,sizeof(b));/n/t/tfor(int i=1;i<=n;i++){/n/t/t/tcin>>a[i];/n/t/t}/n/t/tint maxn=0;/n/t/twhile(1){/n/t/t/tbool flag=false;/n/t/t/tfor(int i=1;i<=n;i++){/n/t/t/t/tif(a[i]>0){/n/t/t/t/t/tflag=true;/n/t/t/t/t/tbreak;/n/t/t/t/t}/n/t/t/t}/n/t/t/tif(flag)break;/n/t/t/tfor(int i=1;i<=n;i++){/n/t/t/t/tmaxn=max(maxn,a[i]);/n/t/t/t}/n/t/t/tint place;/n/t/t/tfor(int i=1;i<=n;i++){/n/t/t/t/tif(maxn==a[i])place=i;/n/t/t/t}/n/t/t/ta[place]=a[place]-m;/n/t/t/tif(a[place]<=0)b[++sum]=place;/n/t/t}/n/t/tfor(int i=1;i<=sum;i++){/n/t/t/tcout<<b[i]<</u0022 /u0022;/n/t/t}/n/t/tcout<<endl;/n/t}/n/treturn 0;/n}/u002

Count Distinct Strings After Operations - LeetCode Solution

原文地址: https://www.cveoy.top/t/topic/p3WR 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录