編程題學習

acwing

826. 單鏈表

#include <iostream>using namespace std;const int N = 100010;int idx, e[N], ne[N], head;void init()
{head = -1;idx = 0;
}void insert_head(int x)
{e[idx] = x;ne[idx] = head;head = idx ++ ;
}void delete_k_pos(int x, int k)
{e[idx] = x;ne[idx] = ne[k];ne[k] = idx ++ ;
}void delete_k(int k)
{ne[k] = ne[ne[k]];
}int main()
{int n;cin >> n;init();ios::sync_with_stdio(false);cin.tie(0);char op;int x, k;while (n -- ){cin >> op;if (op == 'H'){cin >> x;insert_head(x);}else if (op == 'D'){cin >> k;if (!k) head = ne[head];else{delete_k(k - 1);}}else{cin >> k >> x;delete_k_pos(x, k - 1);}}for (int i = head; i != -1; i = ne[i]) cout << e[i] << ' ';cout << endl;return 0;
}

827. 雙鏈表

#include <iostream>
#include <string>using namespace std;const int N = 100010;int idx, e[N], l[N], r[N];void init()
{r[0] = 1;l[1] = 0;idx = 2;
}// 在節點a的右邊插入一個數x
void insert_a_right(int a, int x)
{e[idx] = x;r[idx] = r[a];l[idx] = a;l[r[a]] = idx;r[a] = idx ++ ;
}// 刪除節點a
void delet_k(int a)
{l[r[a]] = l[a];r[l[a]] = r[a];
}int main()
{int n;cin >> n;init();int x, k;string op;while (n -- ){cin >> op;if (op == "L"){cin >> x;insert_a_right(0, x);}else if (op == "R"){cin >> x;insert_a_right(l[1], x);}else if (op == "D"){cin >> k;delet_k(k + 1);}else if (op == "IL"){cin >> k >> x;insert_a_right(l[k + 1], x);}else{cin >> k >> x;insert_a_right(k + 1, x);}}for (int i = r[0]; i != 1; i = r[i]) cout << e[i] << ' ';cout << endl;return 0;
}

1. 之所以在 “D”, “IL”, “IR” 要用 k+1 的原因是 雙鏈表的起始點是2. 所以,每個插入位置k的真實位置應該為 k-1+2 = k+1 (在單鏈表中為 k-1)。
2. 0, 1 節點的作用是邊界。0為左邊界,1為右邊界。他倆在這里有點類似保留字的作用。正因如此,我們的idx也是從2開始
3. 最后遍歷輸出結果的 for (int i = rn[0]; i != 1; i = rn[i])。從 rn[0] 開始是因為 0 為左邊界,而終止條件 i==1是因為1為右邊界(如果碰到,說明已經遍歷完畢)

828. 模擬棧

#include <iostream>using namespace std;const int N = 100010;int top = -1;int stk[N];int main()
{int n;cin >> n;string op;while (n -- ){int x;cin >> op;if (op == "push"){cin >> x;stk[++ top] = x;}else if (op == "query"){cout << stk[top] << endl;}else if (op == "pop"){top -- ;}else if (op == "empty"){if (top == -1){cout << "YES"<< endl;}else {cout << "NO" << endl;}}}
}

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

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

相關文章

modelscope環境準備--裝conda、內網穿透、配置HuggingFace

1 準備anaconda #1、安裝包 wget https://repo.anaconda.com/archive/Anaconda3-2024.10-1-Linux-x86_64.sh#2、提高權限 chmod x Anaconda3-2024.10-1-Linux-x86_64.sh#3、執行安裝命令 ./Anaconda3-2024.10-1-Linux-x86_64.sh#4、一直按Enter健繼續 yes繼續 Enter#5、手動激…

算法題(117):字符串的展開

審題&#xff1a; 本題需要我們根據題目的要求將字符串進行擴展 思路&#xff1a; 方法一&#xff1a;模擬法 一般來說題目字數和要求很多的題就是模擬題&#xff0c;模擬題特別需要注意的就是細節&#xff0c;在編寫代碼之前一定要把細節想清楚&#xff0c;否則很容易出錯。 分…

15使用按鈕實現helloworld(2)

目錄 通過純代碼的方式實現的 按版 hello world 通過圖形化界面的方式&#xff0c;實現的 按鈕版 hello world 通過純代碼的方式實現的 按版 hello world 對于純代碼版本,按鈕對象是咱們自己 new 的 為了保證其他函數中能夠訪問到這個變量,就需要把按鈕對象 設定為 Widget 類…

Nacos 服務發現的核心模型有哪些?Service, Instance, Cluster 之間的關系是什么?

Nacos 服務發現的核心模型 Nacos 服務發現的核心數據模型主要圍繞以下幾個關鍵概念構建&#xff0c;它們共同構成了服務注冊與發現的基礎&#xff1a; Namespace (命名空間): 用途: 用于進行環境隔離。比如&#xff0c;你可以為開發環境 (dev)、測試環境 (test) 和生產環境 (p…

VMware 安裝 Ubuntu 全流程實戰指南:從零搭建到深度優化

在軟件開發、系統測試以及技術學習等諸多場景中&#xff0c;使用虛擬機安裝操作系統是一種靈活且高效的方式。Ubuntu 作為一款優秀的開源操作系統&#xff0c;在 VMware 虛擬機上的安裝與優化備受關注。接下來&#xff0c;將為大家帶來 VMware 安裝 Ubuntu 的全流程實戰指南&am…

探秘叁仟智盒設備:智慧城市的智能樞紐

在智慧城市建設的宏偉藍圖中&#xff0c;各類先進技術與設備層出不窮&#xff0c;叁仟智盒設備作為其中的關鍵一環&#xff0c;正悄然發揮著巨大作用&#xff0c;為城市的智能化轉型注入強大動力。 一、叁仟智盒設備概述 叁仟智盒設備是杭州叁仟智慧城市科技有限公司旗下的重…

晶晨S905L3S/S905L3SB_安卓9.0_10秒開機_通刷-線刷固件包

晶晨S905L3S&#xff0f;S905L3SB_安卓9.0_10秒開機_通刷-線刷固件包 線刷方法&#xff1a;&#xff08;新手參考借鑒一下&#xff09; 使用晶晨刷機工具USB_Burning_Tool進行刷機&#xff1b;請使用Amlogic USB Burning Tool v2.2.5或v2.2.7&#xff08;晶晨線刷燒錄工具v2.2…

VSCode中結合DeepSeek使用Cline插件的感受

前言 聽網上有傳言說AI智能插件Cline非常的好用&#xff0c;而且相對Cursor而言還是免費的&#xff0c;捆綁的大模型選擇也比較的廣泛。所以&#xff0c;特意安裝試用了一下。 我的采用IDE是VSCode&#xff0c;捆綁的大模型是最近比較火的DeepSeek。總體使用下來感覺非常的棒。…

藍橋云客--破譯密碼

5.破譯密碼【算法賽】 - 藍橋云課 問題描述 在近期舉辦的藍橋杯競賽中&#xff0c;誕生了一場激動人心的雙人破譯挑戰。比賽的主辦方準備了N塊神秘的密碼芯片&#xff0c;參賽隊伍需要在這場智力競賽中展示團隊合作的默契與效率。每個隊伍需選出一位破譯者與一位傳輸者&#…

中國移動啟動數字鄉村“五新升級”:年底前,行政村5G覆蓋達95%

大灣區經濟網品牌觀察報道&#xff0c;近日&#xff0c;在國家全面推進鄉村振興的戰略背景下&#xff0c;中國移動近日發布數字鄉村升級行動計劃&#xff0c;以“AI大模型數智化平臺”為核心引擎&#xff0c;圍繞“五新升級”構建“兩個新型”信息服務體系。 一、數字基建筑基&…

智慧節能雙突破 強力巨彩谷亞VK系列刷新LED屏使用體驗

當前全球節能減排趨勢明顯&#xff0c;LED節能屏作為顯示技術的佼佼者&#xff0c;正逐漸成為市場的新寵。強力巨彩谷亞萬境VK系列節能智慧屏憑借三重技術保障、四大智能設計以及大師臻彩畫質&#xff0c;在實現節能效果的同時&#xff0c;更在智慧顯示領域樹立新的標桿。   …

Apache 配置負載均衡詳解(含配置示例)

Apache 是互聯網上最受歡迎的 Web 服務器之一。除了基本的網頁服務&#xff0c;它還能通過模塊擴展出豐富的功能。其中一個重要用途就是將 Apache 配置成負載均衡器&#xff0c;用于在多個后端服務器之間分配流量&#xff0c;提升網站的性能和穩定性。Google Gemini中國版調用G…

GESP:2025-3月等級8-T1-上學

時間限制 : 1 秒 內存限制 : 128 MB C 城可以視為由 n個結點與 m條邊組成的無向圖。這些結點依次以1,2,....n標號&#xff0c;邊依次以 1,2...m標號。第i條邊&#xff08;1<i<m &#xff09;連接編號為ui 與vi的結點&#xff0c;長度為li米。 小 A 的學校坐落在 C 城中…

Nginx介紹及使用

1.Nginx介紹 Nginx是一款開源的、高性能的HTTP和反向代理服務器 1.正向代理和反向代理 正向代理&#xff08;代理客戶端&#xff09;是一種位于客戶端和目標服務器之間的中間服務器。客戶端通過正向代理服務器向目標服務器發送請求&#xff0c;代理服務器將請求轉發給目標服…

復古未來主義屏幕輝光像素化顯示器反烏托邦效果PS(PSD)設計模板樣機 Analog Retro-Futuristic Monitor Effect

這款模擬復古未來主義顯示器效果直接取材于 90 年代賽博朋克電影中的黑客巢穴&#xff0c;將粗糙的屏幕輝光和像素化的魅力強勢回歸。它精準地模仿了老式陰極射線管顯示器&#xff0c;能將任何圖像變成故障頻出的監控畫面或高風險的指揮中心用戶界面。和……在一起 2 個完全可編…

[巴黎高師課程] 同步反應式系統(2024-2025)第三課 - Kind 2: 基于SMT的Lustre模型檢查器

在2024-2025學期的巴黎高師同步反應式系統(2024-2025)第三課中&#xff0c;詳細討論了基于SMT的Lustre模型檢查器Kind 2的工作。本文將提供對Kind 2的介紹。對課程的詳細內容&#xff0c;可參考同步反應式系統 簡介 本節課討論了基于SMT&#xff08;Satisfiability Modulo The…

軌道交通裝備三維檢測與輕量化設計

地鐵車身與車燈部件作為軌道交通裝備的核心組成部分&#xff0c;其制造精度和性能要求極高。由于它們體積龐大、曲面復雜&#xff0c;傳統檢測方法在面對這些大型、復雜部件時&#xff0c;不僅耗時費力&#xff0c;而且難以實現全面、精確的測量&#xff0c;難以滿足高效、準確…

2025大唐杯仿真1——車聯網

車聯網 V2N是指車輛與網絡 Uu接口是用戶設備&#xff08;UE&#xff09;與基站之間的通信接口&#xff0c;用于終端和基站之間的通信 Uu接口可用的是N41頻段&#xff0c;歸屬中國移動 車輛間交互是V2V&#xff0c;頻段是PCS PC5接口是一種用于設備間直接通信&#xff08;D2D…

網絡編程—TCP/IP模型(TCP協議)

上篇文章&#xff1a; 網絡編程—TCP/IP模型&#xff08;UDP協議與自定義協議&#xff09;https://blog.csdn.net/sniper_fandc/article/details/146923934?fromshareblogdetail&sharetypeblogdetail&sharerId146923934&sharereferPC&sharesourcesniper_fand…

python logging模塊

以下是 Python 中 logging 模塊的基礎使用示例和配置說明: 簡單配置版(適合快速使用) import logging as log# 基礎配置(輸出到控制臺) log.basicConfig(level=log.DEBUG, # 設置最低日志級別format=%(asctime)s - %(name)s - %(levelname)s - %(message)s