日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

L1-027 出租 (C++暴力解法)

發(fā)布時(shí)間:2023/11/27 生活经验 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 L1-027 出租 (C++暴力解法) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

L1-027 出租 (20 分)

下面是新浪微博上曾經(jīng)很火的一張圖:

一時(shí)間網(wǎng)上一片求救聲,急問這個(gè)怎么破。其實(shí)這段代碼很簡單,index數(shù)組就是arr數(shù)組的下標(biāo),index[0]=2 對(duì)應(yīng) arr[2]=1index[1]=0 對(duì)應(yīng) arr[0]=8index[2]=3 對(duì)應(yīng) arr[3]=0,以此類推…… 很容易得到電話號(hào)碼是18013820100

本題要求你編寫一個(gè)程序,為任何一個(gè)電話號(hào)碼生成這段代碼 —— 事實(shí)上,只要生成最前面兩行就可以了,后面內(nèi)容是不變的。

輸入格式:

輸入在一行中給出一個(gè)由11位數(shù)字組成的手機(jī)號(hào)碼。

輸出格式:

為輸入的號(hào)碼生成代碼的前兩行,其中arr中的數(shù)字必須按遞減順序給出。

輸入樣例:

18013820100

樣例:">輸出樣例:

int[] arr = new int[]{8,3,2,1,0};
int[] index = new int[]{3,0,4,3,1,0,2,4,3,4,4};

題解:看輸入輸出就知道工作量很大,準(zhǔn)備好幾個(gè)數(shù)組。一個(gè)數(shù)組存下標(biāo),一個(gè)數(shù)組當(dāng)記錄器(arr數(shù)組避免相同的元素,相同的賦值為1,不相同的存入另一個(gè)數(shù)組)用函數(shù)模板加sort給arr的數(shù)字排序。吐了,建議用數(shù)據(jù)結(jié)構(gòu)的知識(shí)解決數(shù)組真的蠢。

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;ll C(int a,int b)
{return a>b;
}int main(void){
string s;
int arr[11],index[11];
ll b[11]={0};
ll k=0,m=0;
cin>>s;
int j=0,i=0;
while(s[j]!='\0')
{
if(b[s[j]-'0']==0)
{
b[s[j]-'0']=1;
arr[k]=s[j]-'0';
k++;}	
j++;	}sort(arr,arr+k,C);
cout << "int[] arr = new int[]{";
while(i<k){if(i==k-1)
{
cout<<arr[i];
break;
}
cout<<arr[i]<<",";
i++;}cout << "};" << endl;cout << "int[] index = new int[]{";for(int i=0;s[i]!='\0';i++){
for(int j=0;j<k;j++){
if(s[i]-'0'==arr[j]){
if(i==10)	
{
cout<<j;
break;
}
cout<<j<<",";	
}}
}cout << "};" << endl;return 0;}

?

總結(jié)

以上是生活随笔為你收集整理的L1-027 出租 (C++暴力解法)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。