ACM實訓

【碎碎念】繼續搞習題學習,今天完成第四套的ABCD,為下一周擠出時間復習,加油

Digit Counting

問題

法希姆喜歡解決數學問題。但有時解決所有的數學問題對他來說是一個挑戰。所以有時候他會為了解決數學難題而生氣。他拿起一支粉筆,開始寫一個從1到N (1 < N < 10000)開始的連續整數序列。之后,他計算每個數字(0到9)在序列中出現的次數。例如,當N = 13時,序列為。

12345678910111213
這個順序很有趣,對吧?在這個序列中,0(0)出現一次,1(1)出現6次,2(2)出現2次,3(3)出現3次,從4(4)到9(9)的每個數字出現一次。玩了一會兒后,法希姆又覺得無聊了。現在,他想為自己編寫一個程序。你的任務是幫助他編寫這個程序。

輸入
仔細查看輸入文件。它由幾個數據集組成。輸入文件的第一行包含數據集的數量,它是一個不大于20的正整數。下面幾行描述了數據集。對于每個測試用例,有一行包含數字N。

輸出
現在對于每個單獨的測試用例,在一行中順序地寫數字0,1,…用一個空格隔開。

樣例輸入
2
3
13
樣例輸出
0 1 1 1 0 0 0 0 0 0
1 6 2 2 1 1 1 1 1 1 1
請注意
您可以使用C/ c++ /Java提交您的解決方案。如果你想用JavaScript提交你的解決方案,那就問志愿者。

思路

把前n(n<=10000)個整數順次寫在一起:123456789101112···數一數0~9各出現多少次(輸出10個整數,分別是0,1,···,9出現的次數)。

代碼?

#include<stdio.h> 
#include<string.h>
int cnt[10];
int main(){int T;scanf("%d",&T);while(T--){memset(cnt,0,sizeof(cnt));//給數組賦值為0 int n;scanf("%d",&n);for(int i=1;i<=n;i++){//條件不可變 int num=i;while(num){cnt[num%10]++;num/=10;}}for(int i=0;i<10;i++) printf("%d ",cnt[i]);}return 0;
}

Add All

對我來說稍微有一點難,可以先放置

問題

是的! !問題名稱反映了你的任務;只要加上一組數字。但是你可能會覺得寫一個C/ c++程序只是為了添加一組數字是一種屈尊。這樣的問題只會質疑你的學識。所以,讓我們加入一些獨創性的味道。

加法運算現在需要代價,代價就是這兩個相加的和。所以,1加10,需要花費11。如果你想加1 2 3。有幾種方法

1 + 2 = 3,成本= 3
3 + 3 = 6,成本= 6
合計= 9

1 + 3 = 4,成本= 4
2 + 4 = 6,成本= 6
總= 10

2 + 3 = 5,成本= 5
1 + 5 = 6,成本= 6
合計= 11


我希望你已經明白你的任務,添加一組整數,使成本最小。
輸入
每個測試用例將從一個正數N(2≤N≤5000)開始,然后是N個正整數(均小于100000)。輸入以N值為零的情況終止。這個案子不應該處理。
輸出
對于每種情況,在單行中打印最小總成本。

?

思路

代碼解析

  1. 結構體定義 (struct Num): 定義了一個結構體Num,包含一個成員變量num用于存儲數值。通過重載<運算符,使得priority_queue默認按照數值從小到大排序,但實際上我們希望它是最大堆,因此這里的比較邏輯是“當前數大于另一個數”,這樣就可以構建最大堆。

  2. 主函數(main)邏輯:

    • 讀取輸入: 使用scanf讀取測試用例個數n,當n不為0時繼續執行。
    • 循環處理每個測試用例:
      • 初始化總和sum為0。
      • 使用循環讀取n個整數,每次讀取后創建Num對象并將其壓入優先隊列Q中。
      • 當優先隊列非空時,循環執行以下操作:
        • 從隊列頂部彈出兩個最大數(由于我們定義的是最大堆,所以這是自動實現的),求和。
        • 將求得的和累加至sum
        • 若隊列中還有其他元素,將求和后的值作為新的元素壓入隊列。
      • 輸出最終的累加和sum
    • 直到沒有更多的測試用例,程序結束。
  3. 利用優先隊列實現最小累加和:通過持續取出最大兩個數相加,并將結果放回隊列,確保了每次操作都能最大化減少后續累加過程中的“損失”,從而達到整體最小累加和的目的。

記憶要點

  1. 優先隊列與堆的應用:理解優先隊列(尤其是最大堆)在處理需要頻繁訪問最大/最小元素的問題中的優勢。
  2. 結構體與運算符重載:通過自定義結構體和重載比較運算符來適應特定的數據結構需求。
  3. 貪心策略:每次選取最大兩個數相加,體現了貪心算法的思想,局部最優選擇往往能導向全局最優解。
  4. 循環終止條件:注意在只剩一個或零個元素時終止循環,避免不必要的操作。
  5. 輸入輸出格式處理:掌握基本的輸入輸出函數如scanfprintf的使用,注意格式控制。
#include<iostream>
#include<cstdio>      // 包含標準輸入輸出函數,如scanf/printf
#include<queue>       // 包含隊列容器相關的實現,包括優先隊列
#include<functional>  // 提供函數對象相關功能,這里用于優先隊列自定義排序規則
using namespace std;typedef long long LL;  // 定義長整型別名,方便表示大整數int n;                 // 用于存儲輸入的整數數量int main(){// 循環讀取測試用例,直到輸入為0為止while(scanf("%d",&n)==1&&n){LL ans=0;         // 初始化答案變量為0,用于累加計算結果// 定義一個優先隊列pq,其中元素類型為int,基于vector容器,使用greater<int>使得隊列頂部元素始終是最小的priority_queue<int,vector<int>,greater<int> > pq;// 讀取n個整數并壓入優先隊列for(int i=0;i<n;i++){int x; scanf("%d",&x);pq.push(x);}// 進行n-1輪操作,每輪取出隊列頂部的兩個最小元素相加,然后將和重新壓入隊列for(int i=0;i<n-1;i++){int x=pq.top(); pq.pop();    // 取出并刪除隊列頂部的最小元素xint y=pq.top(); pq.pop();    // 再次取出并刪除隊列頂部的最小元素yans+=x+y;                  // 將x和y的和累加到答案變量ans中pq.push(x+y);              // 將x+y壓回優先隊列} // 輸出最終計算得到的答案printf("%lld\n",ans);}return 0;           // 程序正常結束,返回0
}

代碼

#include<iostream>
#include<cstdio>
#include<queue>
#include<functional>
using namespace std;typedef long long LL;
int n;int main(){while(scanf("%d",&n)==1&&n){LL ans=0;priority_queue<int,vector<int>,greater<int> > pq;for(int i=0;i<n;i++){int x; scanf("%d",&x);pq.push(x);}for(int i=0;i<n-1;i++){int x=pq.top(); pq.pop();int y=pq.top(); pq.pop();ans+=x+y;pq.push(x+y);} printf("%lld\n",ans);}return 0;
}

Oil Deposits?

問題

GeoSurvComp地質調查公司負責探測地下油藏。GeoSurvComp每次只處理一個大的矩形區域,并創建一個網格,將土地劃分成無數的方形地塊。然后,它使用傳感設備分別分析每個地塊,以確定地塊是否含有石油。 含有石油的地塊稱為口袋。如果兩個儲層相鄰,那么它們就是同一個油藏的一部分。石油蘊藏量很大,可能包含無數的油穴。你的工作是確定在一個網格中有多少不同的石油儲藏。.

?

Input?

輸入文件包含一個或多個網格。每個網格以包含m和n的行開始,這是網格中的行數和列數,用一個空格分隔。如果m = 0,則表示輸入結束。接下來是m行,每行n個字符(不包括行尾字符)。每個字符對應一個情節,“*”代表沒有石油,“@”代表有石油的口袋。

?

Output?

對于每個網格,輸出不同的石油儲量的數量。如果兩個不同的袋體在水平、垂直或對角線上相鄰,則它們是同一油藏的一部分。一個石油礦床將不超過100個油袋。?

思路

#include <cstdio>      // 包含標準輸入輸出函數
#include <cstring>     // 包含字符串操作函數
#include <algorithm>   // 包含算法操作函數
using namespace std;int r, c;             // r: 地圖的行數,c: 地圖的列數
int fx[9] = {0, 0, 1, -1, -1, -1, 1, 1}, fy[9] = {1, -1, 0, 0, -1, 1, -1, 1}; // 方向數組,用于八連通搜索
char mapp[105][105];   // 二維字符數組,用于存儲地圖信息
int s;                // 計算油桶的總數// 深度優先搜索函數,遍歷與當前位置相鄰的油桶
void dfs(int x, int y) {mapp[x][y] = '*'; // 標記當前油桶位置為已訪問,用'*'代替// 遍歷八個方向for (int i = 0; i < 8; i++) {int a = x + fx[i]; // 新的位置行坐標int b = y + fy[i]; // 新的位置列坐標// 檢查新位置是否在地圖范圍內且為未訪問的油桶('@')if (a > 0 && a <= r && b > 0 && b <= c && mapp[a][b] == '@') {dfs(a, b); // 遞歸訪問新位置}}
}int main() {// 循環讀取測試用例,直到輸入的行數為0while (scanf("%d %d", &r, &c) == 2 && r != 0) {s = 0; // 初始化計數器// 讀取地圖信息for (int i = 1; i <= r; i++) {for (int j = 1; j <= c; j++) {scanf(" %c", &mapp[i][j]); // 注意空格,避免讀取前導空白字符}}// 遍歷地圖,對每個油桶發起深度優先搜索for (int i = 1; i <= r; i++) {for (int j = 1; j <= c; j++) {if (mapp[i][j] == '@') {dfs(i, j); // 發起搜索s++;       // 搜索完一個油桶集合,計數加一}}}printf("%d\n", s); // 輸出當前地圖的油桶集合數量}return 0; // 程序結束
}

什么是八連通

八連通(八向連通)是計算機視覺、圖像處理和圖形學領域中的一個概念,主要應用于分析和處理數字圖像中的連通性問題。在處理二值圖像時,連通性用來識別和區分不同的目標或區域。具體來說:

八連通意味著在二維空間中,對于每一個像素,如果它與其上下左右以及對角線方向(左上、右上、左下、右下)上的相鄰像素具有相同的屬性(比如都是白色或者都是黑色),則認為這些像素是八連通的。換句話說,從圖像中的任意一個像素出發,如果能夠僅通過這八個方向之一到達另一個具有相同屬性的像素,那么這兩個像素就屬于同一個連通區域。

這段代碼定義了兩個數組fxfy,它們分別代表了在二維平面上移動時的橫坐標(x軸)和縱坐標(y軸)的變化量,用于實現八連通性搜索。八連通意味著從一個點出發,可以向上、下、左、右以及對角線方向(左上、右上、左下、右下)移動并仍然保持在相連的區域內。具體解釋如下:

  • fx[9] = {0, 0, 1, -1, -1, -1, 1, 1}:

    • fx數組存儲了x軸方向的變化量。每個值代表相對于當前位置在x軸上可能移動的方向:
      • 0, 0: 第一個0是占位符,實際上并不使用(因為數組索引從0開始,但實際有效方向從1計數)。
      • 1: 向右移動。
      • -1: 向左移動。
      • -1, -1, 1, 1: 分別對應向上右、上左、下右、下左的對角線移動。
  • fy[9] = {1, -1, 0, 0, -1, 1, -1, 1}:

    • fy數組存儲了y軸方向的變化量,與fx數組對應的每個方向上的y坐標變化:
      • 1: 向上移動。
      • -1: 向下移動。
      • 0, 0: 同樣,前兩個0是占位符,實際上代表水平移動時y軸無變化。
      • -1, 1, -1, 1: 對應于對角線方向上y坐標的增減。

?

1.定義dfs函數,運用到八連通

2.掃描地圖

3.把有@的數據傳到dfs函數中?

代碼

#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
int r, c;
int fx[9] = {0, 0, 1, -1, -1, -1, 1, 1}, fy[9] = {1, -1, 0, 0, -1, 1, -1, 1};
char mapp[105][105];
int s;void dfs(int x, int y) {mapp[x][y] = '*'; // 把等于@的都變成*,因為它們屬于同一油桶for (int i = 0; i < 8; i++) {int a = x + fx[i];int b = y + fy[i];if (a > 0 && a <= r && b > 0 && b <= c && mapp[a][b] == '@') {dfs(a, b);}}
}int main() {while (scanf("%d %d", &r, &c) == 2 && r != 0) {s = 0;for (int i = 1; i <= r; i++) {for (int j = 1; j <= c; j++) {scanf(" %c", &mapp[i][j]); // 注意增加空格忽略空白字符}}for (int i = 1; i <= r; i++) {for (int j = 1; j <= c; j++) {if (mapp[i][j] == '@') {dfs(i, j);s++;}}}printf("%d\n", s);}return 0;
}

Dungeon Master

這道題好難呀QAQ? ?打算放棄

問題

Description - 題目描述

你進入了一個3D的寶藏地宮中探尋寶藏到了寶藏,你可以找到走出地宮的路帶出寶藏,或者使用爐石空手回家。

地宮由立方體單位構成,立方體中不定會充滿巖石。向上下前后左右移動一個單位需要一分鐘。你不能對角線移動并且地宮四周堅石環繞。
請問你是否可以走出地宮帶出寶藏?如果存在,則需要多少時間?

Input - 輸入

每個地宮描述的第一行為L,R和C(皆不超過30)。
L表示地宮的層數。
R和C分別表示每層地宮的行與列的大小。
隨后L層地宮,每層R行,每行C個字符。
每個字符表示地宮的一個單元。'#'表示巖石單元,'.'表示空白單元。你的起始位置在'S',出口為'E'。
每層地宮后都有一個空行。L,R和C均為0時輸入結束。

Output - 輸出

每個地宮對應一行輸出。
如果可以帶出寶藏,則輸出
Escaped in x minute(s).
x為最短脫離時間。
如果無法帶出,則輸出
Trapped!

思路

感覺這道題是上一道找石油的升級版,由兩維升級到三維

代碼

#include <iostream>
#include<queue>
#include<string.h> 
using namespace std;struct pp
{
int x;
int y;
int z;
};//定義數據結構pp,用于儲存三維坐標queue<pp> s;//創建隊列
pp ne, st;//st為起點的坐標,ne為每次朝六個方向探索時的可行坐標
int x, y, z,ans;//xyz為輸入的內容,ans記錄答案。
const int N = 35;
char a[N][N][N];
int d[N][N][N];//存儲到達每個位置所需要的最短步數
int dx[6] = { -1,0,0,1,0,0 }, dy[6] = { 0,-1,0,0,1,0 }, dz[6] = { 0,0,-1,0,0,1 };//上下左右前后六個坐標的延伸int bfs()
{
ans = -1;
memset(d, -1, sizeof d);//將d數組數據全部設置為-1
for (int i = 0; i < z; i++)
for (int j = 0; j < y; j++)
for (int k = 0; k < x; k++)
{
if (a[k][j][i] == 'S')
{
st.x = k, st.y = j, st.z = i;
d[k][j][i] = 0;
s.push(st);
break;
}
}//尋找起點S的位置,然后將起點坐標入隊列,該點所在的d設為0
while (s.size())
{
pp temp = s.front();//取出隊首元素
s.pop();//彈出隊首元素
if (a[temp.x][temp.y][temp.z] == 'E')
{
ans= d[temp.x][temp.y][temp.z];
while (s.size()) s. pop();
break;
}//如果找到終點,終止循環
for (int i = 0; i < 6; i++)
{
int x1 = temp.x + dx[i];
int y1= temp.y + dy[i];
int z1 = temp.z + dz[i];
if (x1 < 0 || x1 >= x || y1 < 0 || y1 >= y || z1 < 0 || z1 >= z || d[x1][y1][z1] != -1 || a[x1][y1][z1] == '#') continue;
if(a[x1][y1][z1]=='.'||a[x1][y1][z1]=='E')
{
ne.x = x1, ne.y = y1, ne.z = z1;
d[x1][y1][z1] = d[temp.x][temp.y][temp.z] + 1;
s.push(ne);
}
}
}//每次朝六個方向延伸,如果該坐標可行則將該點坐標入隊列,然后刷線該點所在的d數組的值。
return ans;
}int main()
{
cin.tie(0);
while (cin>>z>>y>>x&&(x!=0||y!=0||z!=0))
{
for (int i = 0; i < z; i++)
for (int j = 0; j < y; j++)
for (int k = 0; k < x; k++)
cin >> a[k][j][i];
if (bfs() != -1) cout << "Escaped in " << bfs() << " minute(s)." << endl;
else cout << "Trapped!" << endl;
}}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/13513.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/13513.shtml
英文地址,請注明出處:http://en.pswp.cn/web/13513.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Java面試八股之進程和線程的區別

Java進程和線程的區別 定義與作用&#xff1a; 進程&#xff1a;在操作系統中&#xff0c;進程是程序執行的一個實例&#xff0c;是資源分配的最小單位。每個進程都擁有獨立的內存空間&#xff0c;包括代碼段、數據段、堆空間和棧空間&#xff0c;以及操作系統分配的其他資源…

工廠模式(簡單工廠模式+工廠模式)

工廠模式的目的就是將對象的創建過程隱藏起來&#xff0c;從而達到很高的靈活性&#xff0c;工廠模式分為三類&#xff1a; 簡單工廠模式工廠方法模式抽象工廠模式 在沒有工廠模式的時候就是&#xff0c;客戶需要一輛馬車&#xff0c;需要客戶親自去創建一輛馬車&#xff0c;…

PDF之Blend Mode(混合模式)BM(對應OFD的BlendMode)

Blend Mode&#xff08;混合模式&#xff09;用于定義對象與背景或其他對象之間的顏色混合方式。PDF支持多種混合模式&#xff0c;常見的混合模式包括&#xff1a; Normal&#xff1a;正常混合模式&#xff0c;將對象顏色直接疊加在背景上。 Multiply&#xff1a;乘法混合模式…

經驗分享:C++ error:‘syscall’ was not declared in this scope

明明已經加了頭文件 #include <sys/syscall.h>#define gettid() syscall(__NR_gettid)但是依舊不能使用 syscall() 函數&#xff0c; 檢查源碼后&#xff1a; sys/syscall.h 內部表示&#xff0c;他封裝了 打開對應的 syscall.h 文件內部依舊沒有 syscall()函數的聲明…

使用docker+jenkins構建前端項目發布到nginx

1.準備環境 為了方便公司開發優化代碼&#xff0c;不需要反復地將項目包發送給運維部署&#xff0c;我們對開發環境的前端項目利用jenkinsCI/CD進行自動化部署 需要兩臺服務器 一臺jenkins 一臺發布服務器,這里發布服務器 我直接使用開發環境的服務器 將admin界面與云計算展示…

全棧實現發送驗證碼注冊賬號 全棧開發之路——全棧篇(3)

全棧開發一條龍——前端篇 第一篇&#xff1a;框架確定、ide設置與項目創建 第二篇&#xff1a;介紹項目文件意義、組件結構與導入以及setup的引入。 第三篇&#xff1a;setup語法&#xff0c;設置響應式數據。 第四篇&#xff1a;數據綁定、計算屬性和watch監視 第五篇 : 組件…

基于JAVA的Dubbo 實現的各種限流算法

在基于 Java 的 Dubbo 實現中&#xff0c;限流&#xff08;Rate Limiting&#xff09;同樣是一個關鍵的需求。Dubbo 是阿里巴巴開源的一款高性能 Java RPC 框架&#xff0c;廣泛應用于分布式服務架構中。實現限流可以幫助服務在高并發場景下保持穩定性和可靠性。以下是幾種常見…

Linux進程調度與切換、環境變量

文章目錄 Linux優先級Linux的調度與切換**進程切換**&#xff1a;**進程調度**&#xff1a;優先級活動隊列過期隊列active指針和expired指針 環境變量main函數參數 int main(int argc, char *argv[], char *envp[]) 環境變量環境變量和本地變量echo查看單個環境變量的方法expor…

藍牙模塊在無人機 ID識別、標準制定發揮的作用及其應用優勢和面臨的挑戰

隨著科技的飛速發展&#xff0c;無人機已經廣泛應用于航拍、農業、救援、物流等多個領域。而在無人機的通信與控制系統中&#xff0c;藍牙模塊扮演著重要的角色。本文將探討藍牙模塊在無人機Remote ID識別和標準制定執行中發揮的作用&#xff0c;并分析其應用優勢和面臨的挑戰。…

裝飾器模式在JS中的應用

裝飾器模式在JavaScript中的應用主要是通過修飾函數或類來添加額外的功能或行為。 在ES6中&#xff0c;裝飾器模式可以通過使用語法糖來實現。我們可以將裝飾器應用于函數、類、方法或屬性等。下面是一些在JavaScript中使用裝飾器模式的示例&#xff1a; 修飾函數&#xff1a…

2.Spring中用到的設計模式

Spring框架中使用了多種設計模式來構建其強大且靈活的功能&#xff0c;這里舉例說明Spring中的一些功能使用到的設計模式。 工廠模式&#xff1a;Spring容器本質是一個大工廠&#xff0c;使用工廠模式通過BeanFactory和ApplicationContext這兩個核心接口來創建和管理bean對象。…

Java讀取串口及端口調試

本篇主要講述使用Java對串口進行讀取和發送操作 準備 在項目中導入第三方Jar包 Jar包已經在資源中綁定&#xff0c;或者去官網上自行下載jSerialComm 注意當前jar包是配合JDK1.8環境使用&#xff0c;如果是1.8以下程序將直接中斷 安裝虛擬串口的軟件 Configure Virtual Seri…

一款功能強大的安卓虛擬機應用——VMOS Pro使用分享

前段時間我剛剛分享一個WeChat平板模塊能夠允許用戶自由修改系統設置&#xff0c;讓你的Android備用手機煥發新生&#xff0c;實現手機PAD化&#xff0c;實現兩臺設備同時登錄微信號。今天我分享的這個相比WeChat更為簡單&#xff0c;因為它可以通過虛擬機的方式進行多種androi…

分類和品牌關聯

文章目錄 1.數據庫表設計1.多表關聯設計2.創建表 2.使用renren-generator生成CRUD1.基本配置檢查1.generator.properties2.application.yml 2.生成代碼1.進入localhost:81生成代碼2.將main目錄覆蓋sunliving-commodity模塊的main目錄 3.代碼檢查1.注釋掉CategoryBrandRelationC…

Tencent : TBDS簡介

Tencent TBDS&#xff08;Tencent Big Data Suite&#xff09;是騰訊公司推出的大數據處理套件&#xff0c;它基于騰訊多年海量數據處理經驗&#xff0c;依托云原生技術和泛Hadoop生態開源技術&#xff0c;為用戶提供可靠、安全、易用的大數據處理平臺。 TBDS可以在公有云、私…

JavaWeb基礎(HTML,CSS,JS)

這些知識用了三四天左右學完&#xff0c;因為是JavaWeb&#xff0c;并不是前端&#xff0c;所以只是夠用&#xff0c;不是深入&#xff0c;但是這確實是學校一個學期交的東西&#xff08;JavaWeb課程&#xff09;。 總結一下網頁分為三部分&#xff1a;HTML(內容結構),CSS&…

MySql--SQL語言

目錄 SQl---DDL 結構定義 創建、刪除 數據庫 代碼 運行 設計表 數據類型 整數 浮點數 主鍵 約束 主鍵自增長 默認值 字段注釋 創建、刪除 表 代碼 運行 代碼 代碼 運行 SQL---DML 數據操縱 插入數據 代碼 運行 代碼 運行 代碼 運行 代碼 …

【實戰教程】使用Spring AOP和自定義注解監控接口調用

一、背景 隨著項目的長期運行和迭代&#xff0c;積累的功能日益繁多&#xff0c;但并非所有功能都能得到用戶的頻繁使用或實際上根本無人問津。 為了提高系統性能和代碼質量&#xff0c;我們往往需要對那些不常用的功能進行下線處理。 那么&#xff0c;該下線哪些功能呢&…

貪心算法: 單調遞增的數字

參考資料&#xff1a;代碼隨想錄 題目鏈接&#xff1a;. - 力扣&#xff08;LeetCode&#xff09; 倒序遍歷每個數字&#xff0c;遇到前一個比后一個大的就減一&#xff0c;最后統一把后面幾位置為9 String str n"";char[] chars str.toCharArray();int flag c…

docker部署kafka實戰

目錄 一、部署kafaka、zookeeper 二、測試信息發送與接收 三、kafka進階 一、部署kafaka、zookeeper 請提前安裝docker、docker-compose 安裝docker&#xff1a;docker--安裝docker-ce-CSDN博客 安裝docker-compose&#xff1a; 安裝docker-compose_安裝 docker-compose-CSD…