查找算法和遞推算法

查找算法

題目 1:找班級里的 “小明星”

題目描述:班級有 10 個同學的編號(1 - 10),輸入一個編號,判斷是否是 “小明星”(假設編號為 5 的是小明星),是就輸出 “找到小明星啦!”,否則輸出 “沒找到哦”。
代碼

cpp

運行

#include <iostream>
using namespace std;
int main() {int a;cin >> a;if (a == 5) {cout << "找到小明星啦!";} else {cout << "沒找到哦";}return 0;
}

解釋:通過簡單的線性查找,判斷輸入的編號是否為 5,實現查找功能。

題目 2:找數字在不在數組里

題目描述:有數組里存著 1、3、5、7、9,輸入一個數,看看在不在這個數組里,在的話輸出 “在”,不在輸出 “不在”。
代碼

cpp

運行

#include <iostream>
using namespace std;
int main() {int a, b = 0;int arr[] = {1, 3, 5, 7, 9};cin >> a;for (int i = 0; i < 5; i++) {if (arr[i] == a) {b = 1;break;}}if (b == 1) {cout << "在";} else {cout << "不在";}return 0;
}

解釋:用線性查找遍歷數組,檢查輸入的數是否存在于數組中。

題目 3:找成績中的最高分位置

題目描述:輸入 5 個同學的成績,找出最高分是第幾個輸入的(從 1 開始數)。
代碼

cpp

運行

#include <iostream>
using namespace std;
int main() {int a, max = 0, pos = 0;for (int i = 1; i <= 5; i++) {cin >> a;if (a > max) {max = a;pos = i;}}cout << pos;return 0;
}

解釋:遍歷輸入的成績,同時記錄當前最高分及其位置,屬于線性查找的應用。

題目 4:找第一個大于 10 的數

題目描述:輸入若干個數(最多 10 個),直到輸入 0 為止,找出第一個大于 10 的數,輸出它的位置(從 1 開始),如果沒有就輸出 0。
代碼

cpp

運行

#include <iostream>
using namespace std;
int main() {int a, pos = 0;for (int i = 1; ; i++) {cin >> a;if (a == 0) break;if (a > 10) {pos = i;break;}}cout << pos;return 0;
}

解釋:線性查找輸入的數,找到第一個大于 10 的數并記錄位置。

題目 5:二分查找猜數字(范圍 1 - 100)

題目描述:系統隨機選一個 1 - 100 的數,用戶輸入猜測的數,程序提示 “大了”“小了” 或 “猜對了”,直到猜對。
代碼

cpp

運行

#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
int main() {srand(time(0));int target = rand() % 100 + 1;int a;while (true) {cin >> a;if (a > target) {cout << "大了" << endl;} else if (a < target) {cout << "小了" << endl;} else {cout << "猜對了";break;}}return 0;
}

解釋:雖然是交互性的,但體現了二分查找的思想,通過縮小范圍來找到目標數。

題目 6:找數組中相同的數的個數

題目描述:數組里有 1、2、2、3、3、3,輸入一個數,找出數組中這個數的個數。
代碼

cpp

運行

#include <iostream>
using namespace std;
int main() {int a, count = 0;int arr[] = {1, 2, 2, 3, 3, 3};cin >> a;for (int i = 0; i < 6; i++) {if (arr[i] == a) {count++;}}cout << count;return 0;
}

解釋:線性遍歷數組,統計輸入數出現的次數。

題目 7:找名字在不在列表里

題目描述:名字列表有 “小明”“小紅”“小剛”,輸入一個名字,判斷在不在列表里,在的話輸出 “是班級同學”,不在輸出 “不是”。
代碼

cpp

運行

#include <iostream>
#include <string>
using namespace std;
int main() {string a, b = "不是";string names[] = {"小明", "小紅", "小剛"};cin >> a;for (int i = 0; i < 3; i++) {if (names[i] == a) {b = "是班級同學";break;}}cout << b;return 0;
}

解釋:線性查找字符串數組,判斷輸入的名字是否存在。

題目 8:二分查找有序數組中的數

題目描述:有有序數組 1、3、5、7、9,輸入一個數,用二分查找判斷在不在數組里,在輸出 “在”,不在輸出 “不在”。
代碼

cpp

運行

#include <iostream>
using namespace std;
int main() {int a, left = 0, right = 4, mid;int arr[] = {1, 3, 5, 7, 9};cin >> a;while (left <= right) {mid = (left + right) / 2;if (arr[mid] == a) {cout << "在";return 0;} else if (arr[mid] < a) {left = mid + 1;} else {right = mid - 1;}}cout << "不在";return 0;
}

解釋:標準的二分查找,利用數組有序的特點,每次縮小一半范圍查找目標數。

題目 9:找連續相同數的起始位置

題目描述:數組是 1、2、2、2、3,輸入要找的數(比如 2),輸出它在數組中連續出現的起始位置(從 0 開始)。
代碼

cpp

運行

#include <iostream>
using namespace std;
int main() {int a, pos = -1;int arr[] = {1, 2, 2, 2, 3};cin >> a;for (int i = 0; i < 5; i++) {if (arr[i] == a) {pos = i;break;}}cout << pos;return 0;
}

解釋:線性查找,找到目標數第一次出現的位置。

題目 10:找能被 5 整除的數的位置

題目描述:輸入 5 個數,找出第一個能被 5 整除的數的位置(從 1 開始),如果沒有輸出 0。
代碼

cpp

運行

#include <iostream>
using namespace std;
int main() {int a, pos = 0;for (int i = 1; i <= 5; i++) {cin >> a;if (a % 5 == 0) {pos = i;break;}}cout << pos;return 0;
}

解釋:線性查找輸入的數,找到第一個能被 5 整除的數的位置。

遞推算法

題目 1:兔子繁殖問題(斐波那契數列簡單版)

題目描述:一對兔子,從出生后第 3 個月起每個月都生一對兔子,小兔子長到第 3 個月后每個月又生一對兔子。輸入月份數(1 - 10),求第 n 個月有多少對兔子。
代碼

cpp

運行

#include <iostream>
using namespace std;
int main() {int a = 1, b = 1, n, c;cin >> n;if (n <= 2) {cout << 1;return 0;}for (int i = 3; i <= n; i++) {c = a + b;a = b;b = c;}cout << c;return 0;
}

解釋:利用遞推,第 n 個月的兔子對數等于前兩個月的和,初始前兩個月都是 1 對。

題目 2:計算累加和(遞推版)

題目描述:輸入一個數 n(1 - 100),計算 1 + 2 + 3 + … + n 的和。
代碼

cpp

運行

#include <iostream>
using namespace std;
int main() {int a = 0, n;cin >> n;for (int i = 1; i <= n; i++) {a = a + i;}cout << a;return 0;
}

解釋:遞推累加,從 1 開始依次加到 n,得到總和。

題目 3:階乘計算(遞推版)

題目描述:輸入一個數 n(1 - 10),計算 n 的階乘(n! = 1×2×…×n)。
代碼

cpp

運行

#include <iostream>
using namespace std;
int main() {int a = 1, n;cin >> n;for (int i = 1; i <= n; i++) {a = a * i;}cout << a;return 0;
}

解釋:遞推累乘,從 1 開始依次乘到 n,得到階乘結果。

題目 4:正方形邊長遞推

題目描述:第一個正方形邊長為 1,第二個正方形邊長是前一個的 2 倍,輸入第 n 個(1 - 5),求邊長。
代碼

cpp

運行

#include <iostream>
using namespace std;
int main() {int a = 1, n;cin >> n;for (int i = 2; i <= n; i++) {a = a * 2;}cout << a;return 0;
}

解釋:遞推,每個后續正方形邊長是前一個的 2 倍,從第一個開始計算到第 n 個。

題目 5:存款利息計算(簡單遞推)

題目描述:本金 100 元,年利率 3%,每年利息計入本金,輸入年數(1 - 5),求 n 年后的本金和。
代碼

cpp

運行

#include <iostream>
using namespace std;
int main() {double a = 100;int n;cin >> n;for (int i = 1; i <= n; i++) {a = a * 1.03;}cout << a;return 0;
}

解釋:遞推計算每年的本金和,每年在上一年基礎上乘以 1.03。

題目 6:數字三角形遞推(簡單版)

題目描述:數字三角形第一行是 1,第二行是 2、3,第三行是 4、5、6,輸入行數 n(1 - 5),求第 n 行最后一個數。
代碼

cpp

運行

#include <iostream>
using namespace std;
int main() {int a = 0, n;cin >> n;for (int i = 1; i <= n; i++) {a = a + i;}cout << a;return 0;
}

解釋:第 n 行最后一個數是 1 到 n 的和,通過遞推累加得到。

題目 7:等比數列求和

題目描述:等比數列首項 1,公比 2,輸入項數 n(1 - 10),求前 n 項和。
代碼

cpp

運行

#include <iostream>
using namespace std;
int main() {int a = 0, b = 1, n;cin >> n;for (int i = 1; i <= n; i++) {a = a + b;b = b * 2;}cout << a;return 0;
}

解釋:遞推計算等比數列前 n 項和,每次累加當前項并更新下一項。

題目 8:臺階走法(簡單遞推)

題目描述:上臺階,每次可以走 1 級或 2 級,輸入臺階數 n(1 - 10),求有多少種走法。
代碼

cpp

運行

#include <iostream>
using namespace std;
int main() {int a = 1, b = 2, n, c;cin >> n;if (n == 1) {cout << 1;return 0;} else if (n == 2) {cout << 2;return 0;}for (int i = 3; i <= n; i++) {c = a + b;a = b;b = c;}cout << c;return 0;
}

解釋:遞推,第 n 級臺階的走法等于前兩級的和,類似斐波那契數列。

題目 9:計算冪次(遞推版)

題目描述:輸入底數 a(1 - 10)和指數 n(1 - 5),計算 a 的 n 次冪。
代碼

cpp

運行

#include <iostream>
using namespace std;
int main() {int a, n, res = 1;cin >> a >> n;for (int i = 1; i <= n; i++) {res = res * a;}cout << res;return 0;
}

解釋:遞推累乘,計算底數的 n 次冪。

題目 10:圖形層數對應的星數

題目描述:第 1 層有 1 顆星,第 2 層有 3 顆星,第 3 層有 5 顆星,輸入層數 n(1 - 5),求第 n 層的星數。
代碼

cpp

運行

#include <iostream>
using namespace std;
int main() {int a = 1, n;cin >> n;for (int i = 2; i <= n; i++) {a = a + 2;}cout << a;return 0;
}

解釋:遞推,每層比前一層多 2 顆星,從第一層開始計算到第 n 層。

貪心算法

題目 1:分糖果(盡量多給)

題目描述:有 10 顆糖果,要分給小朋友,每個小朋友分 3 顆,最多能分給幾個小朋友。
代碼

cpp

運行

#include <iostream>
using namespace std;
int main() {int candies = 10, each = 3, count = 0;while (candies >= each) {candies = candies - each;count++;}cout << count;return 0;
}

解釋:貪心策略,每次盡可能多給(分 3 顆),統計能分的次數。

題目 2:找零問題(盡量用大面額)

題目描述:要找零 n 元(1 - 100),只有 1 元、5 元、10 元,求最少需要多少張紙幣。
代碼

cpp

運行

#include <iostream>
using namespace std;
int main() {int n, count = 0;cin >> n;count += n / 10;n = n % 10;count += n / 5;n = n % 5;count += n;cout << count;return 0;
}

解釋:貪心,優先用大面額(10 元、5 元、1 元)

題目 3:安排活動時間(選最多活動)

題目描述:有 3 個活動,時間分別是 (1-2 點)、(2-3 點)、(1-3 點),選時間不沖突的最多活動數量。
代碼

cpp

運行

#include <iostream>
using namespace std;
int main() {// 活動結束時間分別為2、3、3int count = 1;  // 先選第一個活動int last = 2;   // 記錄最后結束時間// 檢查第二個活動(結束3)if (2 >= last) {  // 開始時間2 >= 上一個結束時間2count++;last = 3;}// 檢查第三個活動(開始1 < 上一個結束時間3,沖突)cout << count;return 0;
}

解釋:貪心策略選結束最早的活動,再選不沖突的下一個,最多能選 2 個。

題目 4:背包問題(選價值最高的物品)

題目描述:背包能裝 5kg,物品有 (2kg, 價值 10)、(3kg, 價值 15)、(4kg, 價值 18),選總重量不超且價值最高的。
代碼

cpp

運行

#include <iostream>
using namespace std;
int main() {int max_val = 0;// 嘗試各種組合,貪心選價值密度高的if (18 <= 5) max_val = 18;          // 只選4kg的if (15 + 10 <= 5) max_val = 25;     // 3+2=5kg,總價值25更高cout << max_val;return 0;
}

解釋:簡化貪心,比較可能的組合,選總價值最高的(3kg+2kg)。

題目 5:分披薩(每人最多 2 塊)

題目描述:1 個披薩切 8 塊,有 5 個小朋友,每人最多 2 塊,最多能滿足幾個小朋友。
代碼

cpp

運行

#include <iostream>
using namespace std;
int main() {int pieces = 8, kids = 5, each = 2;int max_kids = pieces / each;  // 8/2=4if (max_kids > kids) max_kids = kids;cout << max_kids;return 0;
}

解釋:貪心盡量每人分 2 塊,8 塊最多滿足 4 個小朋友。

題目 6:選最大數(用 3 個不同數字組成最大數)

題目描述:輸入 3 個不同的 1 位數,選其中 2 個組成最大的兩位數。
代碼

cpp

運行

#include <iostream>
using namespace std;
int main() {int a, b, c, max1, max2;cin >> a >> b >> c;// 找最大的數字max1 = a;if (b > max1) max1 = b;if (c > max1) max1 = c;// 找第二大的數字max2 = a;if ((b > max2 && b < max1) || (max1 == a && b > max2)) max2 = b;if ((c > max2 && c < max1) || (max1 == a && c > max2) || (max1 == b && c > max2)) max2 = c;cout << max1 * 10 + max2;return 0;
}

解釋:貪心選最大的兩個數字,大的放十位,小的放個位。

題目 7:時間安排(最早開始的先做)

題目描述:3 件事開始時間是 8 點、9 點、7 點,按最早開始時間排序輸出。
代碼

cpp

運行

#include <iostream>
using namespace std;
int main() {int a = 8, b = 9, c = 7, t;// 排序:7 < 8 < 9if (a > b) { t = a; a = b; b = t; }if (a > c) { t = a; a = c; c = t; }if (b > c) { t = b; b = c; c = t; }cout << a << " " << b << " " << c;return 0;
}

解釋:貪心按最早開始時間排序,優先處理早開始的事。

題目 8:買筆(盡量買貴的)

題目描述:有 10 元錢,筆有 3 元 / 支和 2 元 / 支,最多能買幾支。
代碼

cpp

運行

#include <iostream>
using namespace std;
int main() {int money = 10, a = 3, b = 2, count = 0;// 先買便宜的更劃算(2元能買更多)count = money / b;  // 10/2=5支cout << count;return 0;
}

解釋:貪心選便宜的筆(2 元),能買更多數量。

題目 9:拼車(每車最多坐 3 人)

題目描述:有 10 個小朋友要坐車,每車最多 3 人,最少需要幾輛車。
代碼

cpp

運行

#include <iostream>
using namespace std;
int main() {int kids = 10, per_car = 3, cars = 0;cars = kids / per_car;  // 10/3=3if (kids % per_car != 0) cars++;  // 余1人需再加1輛cout << cars;return 0;
}

解釋:貪心每車坐滿 3 人,有余數就多一輛車,共需 4 輛。

題目 10:選水果(按單價最低買)

題目描述:蘋果 5 元 / 斤,香蕉 3 元 / 斤,橘子 4 元 / 斤,有 10 元錢,買哪種水果最多。
代碼

cpp

運行

#include <iostream>
using namespace std;
int main() {int money = 10, a = 5, b = 3, c = 4;int max_apple = money / a;  // 2斤int max_banana = money / b; // 3斤int max_orange = money / c; // 2斤int max = max_banana;cout << max;return 0;
}

解釋:貪心選單價最低的香蕉,10 元能買 3 斤最多。

遞歸算法

題目 1:遞歸計算 n 的階乘

題目描述:輸入 n(1-5),用遞歸計算 n 的階乘(n! = 1×2×…×n)。
代碼

cpp

運行

#include <iostream>
using namespace std;
int fact(int a) {if (a == 1) return 1;  // 終止條件return a * fact(a - 1); // 遞歸調用
}
int main() {int n;cin >> n;cout << fact(n);return 0;
}

解釋:遞歸函數fact(a)計算 a!,當 a=1 時返回 1,否則返回 a×(a-1)!。

題目 2:遞歸計算 1 到 n 的和

題目描述:輸入 n(1-10),用遞歸計算 1+2+…+n 的和。
代碼

cpp

運行

#include <iostream>
using namespace std;
int sum(int a) {if (a == 1) return 1;  // 終止條件return a + sum(a - 1); // 遞歸調用
}
int main() {int n;cin >> n;cout << sum(n);return 0;
}

解釋:遞歸函數sum(a)計算 1 到 a 的和,a=1 時返回 1,否則返回 a + 1 到 a-1 的和。

題目 3:遞歸求斐波那契數列第 n 項

題目描述:斐波那契數列第 1、2 項是 1,后面每項是前兩項和,輸入 n(1-5),用遞歸求第 n 項。
代碼

cpp

運行

#include <iostream>
using namespace std;
int fib(int a) {if (a == 1 || a == 2) return 1;  // 終止條件return fib(a - 1) + fib(a - 2);  // 遞歸調用
}
int main() {int n;cin >> n;cout << fib(n);return 0;
}

解釋:遞歸函數fib(a)返回第 a 項,前兩項為 1,后面項是前兩項之和。

題目 4:遞歸輸出 1 到 n

題目描述:輸入 n(1-5),用遞歸從 1 輸出到 n。
代碼

cpp

運行

#include <iostream>
using namespace std;
void print(int a) {if (a == 0) return;  // 終止條件print(a - 1);        // 先遞歸再輸出cout << a << " ";
}
int main() {int n;cin >> n;print(n);return 0;
}

解釋:遞歸函數print(a)先調用print(a-1),再輸出 a,實現從 1 到 n 的輸出。

題目 5:遞歸輸出 n 到 1

題目描述:輸入 n(1-5),用遞歸從 n 輸出到 1。
代碼

cpp

運行

#include <iostream>
using namespace std;
void print(int a) {if (a == 0) return;  // 終止條件cout << a << " ";    // 先輸出再遞歸print(a - 1);
}
int main() {int n;cin >> n;print(n);return 0;
}

解釋:遞歸函數print(a)先輸出 a,再調用print(a-1),實現從 n 到 1 的輸出。

題目 6:遞歸計算 a 的 n 次方

題目描述:輸入 a(1-3)和 n(1-3),用遞歸計算 a 的 n 次方。
代碼

cpp

運行

#include <iostream>
using namespace std;
int power(int a, int b) {if (b == 1) return a;  // 終止條件:a^1 = areturn a * power(a, b - 1);  // 遞歸調用
}
int main() {int a, n;cin >> a >> n;cout << power(a, n);return 0;
}

解釋:遞歸函數power(a,b)計算 a^b,b=1 時返回 a,否則返回 a×a^(b-1)。

題目 7:遞歸求最大公約數

題目描述:輸入兩個數(1-10),用遞歸求它們的最大公約數(輾轉相除法)。
代碼

cpp

運行

#include <iostream>
using namespace std;
int gcd(int a, int b) {if (b == 0) return a;  // 終止條件:余數為0時,a是最大公約數return gcd(b, a % b);  // 遞歸調用(交換并取余)
}
int main() {int a, b;cin >> a >> b;cout << gcd(a, b);return 0;
}

解釋:用輾轉相除法遞歸求最大公約數,當 b=0 時返回 a,否則遞歸計算 gcd (b, a% b)。

題目 8:遞歸計算數的位數

題目描述:輸入一個正整數(1-999),用遞歸計算它的位數。
代碼

cpp

運行

#include <iostream>
using namespace std;
int count_digits(int a) {if (a < 10) return 1;  // 1位數時終止return 1 + count_digits(a / 10);  // 遞歸調用(去掉最后一位)
}
int main() {int n;cin >> n;cout << count_digits(n);return 0;
}

解釋:遞歸函數count_digits(a),a<10 時是 1 位,否則位數 = 1 + 去掉最后一位的位數。

題目 9:遞歸求 1 到 n 的乘積

題目描述:輸入 n(1-4),用遞歸計算 1×2×…×n 的乘積(即階乘,換種描述)。
代碼

cpp

運行

#include <iostream>
using namespace std;
int product(int a) {if (a == 1) return 1;  // 終止條件return a * product(a - 1);  // 遞歸調用
}
int main() {int n;cin >> n;cout << product(n);return 0;
}

解釋:和階乘邏輯相同,用不同描述幫助理解遞歸的累加思想。

題目 10:遞歸判斷是否為偶數

題目描述:輸入一個數(1-10),用遞歸判斷是否為偶數(每次減 2,直到 0 或 1)。
代碼

cpp

運行

#include <iostream>
using namespace std;
bool is_even(int a) {if (a == 0) return true;   // 減到0是偶數if (a == 1) return false;  // 減到1是奇數return is_even(a - 2);     // 遞歸減2
}
int main() {int n;cin >> n;if (is_even(n)) cout << "是偶數";else cout << "是奇數";return 0;
}

解釋:遞歸函數每次減 2,直到 a=0(偶數)或 a=1(奇數),判斷是否為偶數。

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

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

相關文章

2025 年PT展前瞻:人工智能+如何走進普通人的生活?

導讀&#xff1a;2025年&#xff0c;人工智能正在加速融入日常生活&#xff0c;提升著每一個普通人的幸福感與獲得感。清晨&#xff0c;智能手環在你最淺的睡眠階段輕柔震動&#xff0c;用最科學的方式將你喚醒&#xff1b;通勤路上&#xff0c;智能網聯汽車早已規劃好躲避擁堵…

1-機器學習與大模型開發數學教程-第0章 預備知識-0-1 集合與邏輯基礎(集合運算、命題邏輯、量詞)

在正式進入機器學習與大模型的數學核心之前&#xff0c;我們需要先打好“語言”和“邏輯”的基礎。 這一章會從 集合與邏輯 入手&#xff0c;它們就像是編程中的語法規則&#xff1a; 集合告訴我們“對象屬于不屬于某個范圍”&#xff1b;邏輯告訴我們“命題對不對、能不能推出…

字節 Trae vs 騰訊 CodeBuddy vs 阿里 Qoder:三大 AI-IDE 集成 OneCode 深度對比與體驗測評

一、對比背景&#xff1a;AI-IDE 與低代碼融合的行業必然性 在低代碼開發進入 “AI 賦能期” 的 2025 年&#xff0c;AI 驅動的集成開發環境&#xff08;AI-IDE&#xff09;已成為低代碼平臺效率提升的核心載體。全球 AI-IDE 市場規模突破 50 億美元&#xff0c;年增長率超 70…

DeerFlow 與 MCP 區別深度解析

目錄 引言 一、DeerFlow 與 MCP 的詳細概念說明 1. DeerFlow&#xff1a;面向研究自動化的多智能體應用框架 2. MCP&#xff1a;連接 AI 模型與外部系統的標準化通信協議 二、核心定位&#xff1a;應用框架與通信協議的本質 1. 角色不同 2. 技術架構 三、功能特性&…

視覺對象類型

矩形類型 對于最基本的視覺效果,Qt Quick 提供了一種繪制矩形的類型。這些矩形可以用顏色或垂直漸變著色。該類型還可以在矩形上繪制邊框。 若要繪制矩形以外的自定義形狀,請參閱類型或使用該類型顯示預渲染圖像。 import QtQuickItem {width: 320h

排序---選擇排序(Selection Sort)

一、選擇排序的基本概念 選擇排序&#xff08;Selection Sort&#xff09;是一種簡單直觀的排序算法&#xff0c;其核心思想是每次從待排序元素中找到最值&#xff08;最小值或最大值&#xff09;&#xff0c;將其放到已排序序列的末尾&#xff0c;重復此過程直到所有元素完成排…

前端菜單權限方案

方案一&#xff1a;前端全量配置路由表 后端返回權限碼思路所有可能的路由都在前端 router 中靜態配置好&#xff08;就像你現在這樣&#xff09;。登錄后&#xff0c;后端返回當前用戶的菜單權限&#xff08;通常是一個權限 code 列表&#xff09;。前端根據權限碼過濾掉無權…

spring項目部署后為什么會生成 logback-spring.xml文件

以下內容為豆包生成&#xff0c;此處僅做記錄在 Spring 項目&#xff08;尤其是 Spring Boot 項目&#xff09;部署后生成 logback-spring.xml 文件&#xff0c;通常有以下幾種原因&#xff1a;1. 項目打包時主動包含了該文件logback-spring.xml 是 Logback 日志框架在 Spring …

如何解決pip安裝報錯ModuleNotFoundError: No module named ‘vaex’問題

【Python系列Bug修復PyCharm控制臺pip install報錯】如何解決pip安裝報錯ModuleNotFoundError: No module named ‘vaex’問題 摘要 在Python開發過程中&#xff0c;使用pip install時遇到錯誤是非常常見的情況。特別是在使用PyCharm等集成開發環境&#xff08;IDE&#xff0…

實習總結——關于聯調解決的因CRC校驗導致協議交互失敗的調試經驗總結

1.場景還原&#xff1a;在我開發USB PD測試模塊時&#xff0c;發現待測主板始終不回復Request消息&#xff0c;導致我的測試失敗&#xff1b;此時我的任務就是快速定位這個協議交互失敗的原因&#xff0c;無論是軟件、硬件還是協同。2.大致的調試步驟&#xff1a;1.首先使用了邏…

STM32之RTC

RTC簡介 實時時鐘(Real Time Clock&#xff0c;RTC)&#xff0c;本質是一個計數器&#xff0c;計數頻率常為秒&#xff0c;專門用來記錄時間。 普通定時器拿來作時鐘可行嗎&#xff1f;普通定時器無法掉電運行&#xff01; RTC特性&#xff1a; 1&#xff0c;能提供時間&…

【OC】單例模式

文章目錄前言概念優缺點優點缺點兩種使用模式懶漢模式實現代碼運行結果餓漢模式實現代碼運行結果在自定義類方法時的幾種常見寫法總結前言 在之前我們已經學習過單例模式的有關內容&#xff0c;但是只是最簡單的單例&#xff0c;無法勝任多線程或者稍微多一點的情況便無法確定…

機器學習(七)決策樹-分類

一 概念1 決策節點通過條件判斷而進行分支選擇的節點。將樣本的屬性值&#xff0c;也就是特征值與決策節點上的值進行比較&#xff0c;從而判斷它的流向。2 葉子節點沒有子節點的節點&#xff0c;表示最終的決策結果。3 決策樹的深度所有節點的最大層次數決策樹具有一定的層次結…

IT 服務管理的新格局:從工單系統到一體化 ITSM 平臺

企業 IT 部門的角色轉變在過去&#xff0c;IT 部門更多被視為“技術支持”&#xff0c;主要負責設備維護和故障處理。但隨著數字化轉型加速&#xff0c;IT 已經成為業務連續性和創新的重要推動力。從客戶體驗到數據安全&#xff0c;從業務敏捷到成本控制&#xff0c;IT 服務管理…

創建一個Spring Boot Starter風格的Basic認證SDK

文章目錄前言設計思路SDK實現步驟1. 創建SDK Maven項目&#xff08;sdk目錄&#xff09;2. 實現配置類3. 實現認證邏輯4. 實現攔截器5. 實現自動配置6. 創建spring.factories文件使用方集成步驟1. 引入SDK依賴2. 配置Application屬性3. 創建測試接口4. 測試接口訪問SDK擴展功能…

mybatis處理統計sql進度丟失問題

如何處理統計sql進度丟失 SELECT sum(decimal_column) AS sum_value FROM your_table如上sql執行時沒有問題&#xff0c;在數據庫可視工具可以正常顯示&#xff0c;但是在mybatis執行時&#xff0c;卻出現解決辦法 使用轉 decimal 控制精度 SELECT CAST(SUM(decimal_column) A…

全球首款!科聰控制器獲德國 TüV 萊茵功能安全認證

近日&#xff0c;浙江科聰控制技術有限公司&#xff08;以下簡稱"科聰"&#xff09;的安全移動機器人控制器MSC5000榮獲全球權威認證機構德國萊茵TV集團&#xff08;TV Rheinland&#xff09;頒發的功能安全認證證書。這款控制器是全球首款通過SIL3、PLe 認證的移動機…

pureadmin的動態路由和靜態路由

在 PureAdmin&#xff08;基于 Vue3 的后臺管理框架&#xff09;中&#xff0c;靜態路由和動態路由是實現路由管理的兩種方式&#xff0c;主要區別在于路由的定義時機、加載方式和靈活性&#xff0c;具體區別如下&#xff1a; 1. 靜態路由 定義方式&#xff1a;路由規則在代碼中…

第3章:CPU實戰

1. Linux操作系統CPU平均負載 以前我們總認為CPU使用率和CPU平均負載是一樣的&#xff0c;負載高了就是CPU使用率提高。但是到底是什么情況呢&#xff1f; 1.1. CPU的平均負載 單位時間內 系統處于 可運行狀態 和不可中斷狀態 的平均進程數&#xff0c;就是平均活躍進程數&a…

【Vue3】06-利用setup編寫vue(1)

其它篇章&#xff1a; 1.【Vue3】01-創建Vue3工程 2.【Vue3】02-Vue3工程目錄分析 3.【Vue3】03-編寫app組件——src 4.【Vue3】04-編寫vue實現一個簡單效果 5.【Vue3】05-Options API和Composition API的區別 6.【Vue3】06-利用setup編寫vue&#xff08;1&#xff09; 7.【Vue…