L1-027 出租
题目链接:L1-027 出租
代码如下
/*
L1-027 出租
https://pintia.cn/problem-sets/994805046380707840/exam/problems/994805107638517760
*/
#include <algorithm>
#include <functional>
#include <iostream>
#include <string>
#include <vector>
#include <set>
using namespace std;
int main()
{
vector<int> index;
set<int,greater<int>> arr;
index.resize(11);
fill(index.begin(),index.end(),0);
string tel;
cin>>tel;
for(char c:tel)//用set存储arr中的不同数字
arr.insert(c-'0');
int sizeIndex=0;
for(char c:tel)//用inde存储数字每个数字在arr的位置
{
int position=0;
for(auto it:arr)
{
if(it==c-'0')
break;
position++;
}
index[sizeIndex++]=position;
}
int arrNew[arr.size()];//将arr中的元素转移到新的int数组中,便于遍历
int sizeArray=0;
for(set<int,greater<int>>::iterator it=arr.begin();it!=arr.end();it++)
arrNew[sizeArray++]=*it;
//输出arr
printf("int[] arr = new int[]{");
for(int i=0;i<sizeArray;i++)
{
if(i==sizeArray-1)
printf("%d",arrNew[i]);
else
printf("%d,",arrNew[i]);
}
printf("}\n");
//输出index
printf("int[] index = new int[]{");
for(int i=0;i<sizeIndex;i++)
{
if(i==sizeIndex-1)
printf("%d",index[i]);
else
printf("%d,",index[i]);
}
printf("}\n");
return 0;
}