【美团笔试题汇总】2023-08-26-美团春秋招笔试题-三语言题解(CPP/Python/Java)

🍭 大家好这里是KK爱Coding ,一枚热爱算法的程序员

✨ 本系列打算持续跟新小米近期的春秋招笔试题汇总~

💻 ACM银牌🥈| 多次AK大厂笔试 | 编程一对一辅导

👏 感谢大家的订阅➕ 和 喜欢💗

📧 KK这边最近正在收集近一年互联网各厂的笔试题汇总,如果有需要的小伙伴可以关注后私信一下 KK领取,会在飞书进行同步的跟新。

**

💻听说明天上午要笔美团啦,这里给大家带来一些去年秋招的题目来练练手。

🎉 祝大家明天超常发挥,笔试AK,rp ++++++

**

文章目录

    • 💻听说明天上午要笔美团啦,这里给大家带来一些去年秋招的题目来练练手。
    • 🎉 祝大家明天超常发挥,笔试AK,rp `++++++`
    • 01.K小姐的植物浇水
      • 问题描述
      • 输入格式
      • 输出格式
      • 样例输入
      • 样例输出
      • 数据范围
      • 题解
      • 参考代码
    • 02.LYA 的公寓租金分摊
      • 问题描述
      • 输入格式
      • 输出格式
      • 样例输入
      • 样例输出
      • 数据范围
      • 题解
      • 参考代码
    • 03.LYA的魔药配方
      • 问题描述
      • 输入格式
      • 输出格式
      • 样例输入
      • 样例输出
      • 数据范围
      • 题解
      • 参考代码
    • 04.K小姐的礼物盒
      • 问题描述
      • 输入格式
      • 输出格式
      • 样例输入
      • 样例输出
      • 数据范围
      • 题解
      • 参考代码
    • 05.LYA 的平均分目标
      • 问题描述
      • 输入格式
      • 输出格式
      • 样例输入
      • 样例输出
      • 数据范围
      • 题解
      • 参考代码
    • 写在最后
    • 📧 KK这边最近正在收集近一年互联网各厂的笔试题汇总,如果有需要的小伙伴可以关注后私信一下 KK领取,会在飞书进行同步的跟新。

01.K小姐的植物浇水

问题描述

K小姐有一盆植物,她希望能够在最短的时间内让植物长到至少 z z z 厘米高。目前植物的高度为 0 0 0 厘米。

每天,K小姐可以选择以下两种浇水方式之一:

  1. x x x 毫升的水,植物高度增加 x x x 厘米。
  2. y y y 毫升的水,植物高度增加 y y y 厘米。需要注意的是,使用第二种浇水方式后,必须至少等待两天才能再次使用该方式。

请你帮助K小姐计算出让植物长到至少 z z z 厘米高所需的最少天数。

输入格式

输入一行,包含三个整数 x x x y y y z z z,分别表示两种浇水方式的水量以及目标植物高度。

输出格式

输出一个整数,表示让植物长到至少 z z z 厘米高所需的最少天数。

样例输入

1 2 10

样例输出

6

数据范围

  • 1 ≤ x , y , z ≤ 1 0 9 1 \leq x, y, z \leq 10^9 1x,y,z109

题解

本题可以使用二分查找的思想来解决。我们可以二分枚举所需的天数 d d d,判断在 d d d 天内是否能够让植物长到至少 z z z 厘米高。

对于每个枚举的天数 d d d,我们可以计算出在这 d d d 天内使用第二种浇水方式的最大次数为 ⌊ d 3 ⌋ \lfloor \frac{d}{3} \rfloor 3d。然后,我们可以计算出在这 d d d 天内,使用第一种浇水方式的次数为 d − ⌊ d 3 ⌋ d - \lfloor \frac{d}{3} \rfloor d3d

因此,在 d d d 天内,植物的最大高度为:

h e i g h t = x × ( d − ⌊ d 3 ⌋ ) + y × ⌊ d 3 ⌋ height = x \times (d - \lfloor \frac{d}{3} \rfloor) + y \times \lfloor \frac{d}{3} \rfloor height=x×(d3d⌋)+y×3d

如果 h e i g h t ≥ z height \geq z heightz,说明在 d d d 天内可以让植物长到至少 z z z 厘米高,我们可以缩小二分的范围;否则,我们需要增大二分的范围。

通过二分查找,我们可以找到最小的满足条件的天数。

时间复杂度: O ( log ⁡ z ) O(\log z) O(logz),其中 z z z 为目标植物高度。
空间复杂度: O ( 1 ) O(1) O(1)

参考代码

  • Python
def is_feasible(d, x, y, z):num = (d // 3) * y + d * xif d % 3 != 0:num += yreturn num >= zx, y, z = map(int, input().split())
left, right = 0, z // x + 1
while left < right:mid = (left + right) // 2if is_feasible(mid, x, y, z):right = midelse:left = mid + 1
print(right)
  • Java
import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int x = scanner.nextInt();int y = scanner.nextInt();int z = scanner.nextInt();int left = 0, right = z / x + 1;while (left < right) {int mid = (left + right) / 2;if (isFeasible(mid, x, y, z)) {right = mid;} else {left = mid + 1;}}System.out.println(right);}public static boolean isFeasible(int d, int x, int y, int z) {long num = (d / 3) * y + d * x;if (d % 3 != 0) {num += y;}return num >= z;}
}
  • Cpp
#include <iostream>
using namespace std;int x, y, z;bool isFeasible(int d) {long long int num = (d / 3) * y + d * x;if (d % 3) {num += y;}return num >= z;
}int main() {cin >> x >> y >> z;int left = 0, right = z / x + 1;while (left < right) {int mid = (left + right) / 2;if (isFeasible(mid)) {right = mid;} else {left = mid + 1;}}cout << right;return 0;
}

02.LYA 的公寓租金分摊

问题描述

LYA 是一位年轻有为的创业者,她在城市里拥有 n n n 栋公寓楼。每栋公寓楼都有若干名租户入住,LYA 自己也在每栋楼里保留了一个住处。现在,是每个月向租户们收取租金的时候了。

对于第 i i i 栋公寓楼,共有 k i k_i ki 名租户(包括 LYA 自己),月租总金额为 c i c_i ci。为了公平起见,LYA 决定将总租金 c i c_i ci 平均分摊给所有租户(包括她自己),每人需支付 ⌈ c i k i ⌉ \lceil \frac{c_i}{k_i} \rceil kici 的金额。这里, ⌈ x ⌉ \lceil x \rceil x 表示对实数 x x x 向上取整。

现在,LYA 希望你能帮她计算每位租户需要支付的租金金额。

输入格式

第一行包含两个正整数 n n n m m m,分别表示 LYA 拥有的公寓楼数量和城市中租户的总数。 ( 1 < n , m ≤ 1 0 5 ) (1 < n, m \le 10^5) (1<n,m105)

接下来有 2 n 2n 2n 行,每两行描述一栋公寓楼的信息:

  • 第一行包含两个整数 k i k_i ki c i c_i ci,分别表示该公寓楼的租户总数(包括 LYA)和月租总金额。 ( 2 ≤ k i ≤ m + 1 , 1 ≤ c i ≤ 1 0 9 ) (2 \le k_i \le m+1, 1 \le c_i \le 10^9) (2kim+1,1ci109)
  • 第二行包含 k i − 1 k_i-1 ki1 个整数,表示每位租户(不包括 LYA)的编号。租户编号在 1 1 1 m m m 之间。

输出格式

输出包含 m m m 个整数,第 i i i 个整数表示编号为 i i i 的租户需要支付的租金金额。

样例输入

2 3
3 10
1 2
4 10
1 2 3

样例输出

7 7 3

数据范围

  • 1 < n , m ≤ 1 0 5 1 < n, m \le 10^5 1<n,m105
  • 2 ≤ k i ≤ m + 1 2 \le k_i \le m+1 2kim+1
  • 1 ≤ c i ≤ 1 0 9 1 \le c_i \le 10^9 1ci109
  • 租户编号在 1 1 1 m m m 之间

题解

本题要求我们计算每位租户需要支付的租金金额。由于 LYA 自己也算作一名租户,因此每栋公寓楼的实际租户数为输入的 k i − 1 k_i-1 ki1

我们可以先创建一个长度为 m m m 的数组 rent,用于存储每位租户的租金金额,初始值都为 0 0 0

然后,对于每栋公寓楼,我们计算出每位租户需要支付的租金金额 ⌈ c i k i ⌉ \lceil \frac{c_i}{k_i} \rceil kici,然后将其累加到对应租户的租金金额上。

最后,我们将 rent 数组中的租金金额按顺序输出即可。

时间复杂度为 O ( n × k ˉ ) O(n \times \bar{k}) O(n×kˉ),其中 k ˉ \bar{k} kˉ 为每栋公寓楼的平均租户数。空间复杂度为 O ( m ) O(m) O(m)

参考代码

  • Python
n, m = map(int, input().split())
rent = [0] * mfor _ in range(n):k, c = map(int, input().split())cost = (c + k - 1) // kfor x in map(int, input().split()):rent[x - 1] += costprint(*rent)
  • Java
import java.io.*;
import java.util.*;public class Main {public static void main(String[] args) throws IOException {BufferedReader br = new BufferedReader(new InputStreamReader(System.in));String[] nm = br.readLine().split(" ");int n = Integer.parseInt(nm[0]);int m = Integer.parseInt(nm[1]);long[] rent = new long[m];for (int i = 0; i < n; ++i) {String[] kc = br.readLine().split(" ");int k = Integer.parseInt(kc[0]);int c = Integer.parseInt(kc[1]);long cost = (c + k - 1) / k;StringTokenizer st = new StringTokenizer(br.readLine());while (st.hasMoreTokens()) {int x = Integer.parseInt(st.nextToken());rent[x - 1] += cost;}}System.out.println(Arrays.stream(rent).mapToObj(Long::toString).collect(Collectors.joining(" ")));}
}
  • Cpp
#include <iostream>
using namespace std;int main() {int n, m;cin >> n >> m;long long rent[m] = {0};for (int i = 0; i < n; ++i) {int k, c;cin >> k >> c;long long cost = (c + k - 1) / k;for (int j = 0; j < k - 1; ++j) {int x;cin >> x;rent[x - 1] += cost;}}for (int i = 0; i < m; ++i) {cout << rent[i] << (i == m - 1 ? "\n" : " ");}return 0;
}

03.LYA的魔药配方

问题描述

LYA是一位天才的魔药师,她有一个包含 n n n 种材料的魔药配方。每种材料都有一个初始的魔力值 a i a_i ai

为了制作出更加强大的魔药,LYA可以进行最多 m m m 次魔力调整操作。每次操作如下:

  1. 选择两种不同的材料,设它们的下标为 i i i j j j 1 ≤ i < j ≤ n 1 \leq i < j \leq n 1i<jn)。
  2. 选择两个正整数 x x x y y y,满足 x × y = a i × a j x \times y = a_i \times a_j x×y=ai×aj
  3. 将第 i i i 种材料的魔力值变为 x x x,第 j j j 种材料的魔力值变为 y y y

LYA想知道,在最多进行 m m m 次操作后,魔药配方中所有材料的魔力值之和最大可以达到多少。

输入格式

第一行包含两个整数 n n n m m m,分别表示魔药材料的数量和最多可以进行的操作次数。

第二行包含 n n n 个整数 a 1 , a 2 , … , a n a_1, a_2, \dots, a_n a1,a2,,an,表示初始时每种材料的魔力值。

输出格式

输出一个整数,表示在最多进行 m m m 次操作后,魔药配方中所有材料的魔力值之和的最大值。

由于答案可能很大,请输出答案对 1 0 9 + 7 10^9+7 109+7 取模的结果。

样例输入

6 2
1 2 3 4 5 6

样例输出

128

数据范围

  • 1 ≤ m < n ≤ 1 0 5 1 \leq m < n \leq 10^5 1m<n105
  • 1 ≤ a i ≤ 1 0 5 1 \leq a_i \leq 10^5 1ai105

题解

本题可以使用贪心算法来解决。

为了使最后的魔力值之和最大,我们需要尽可能地将较大的魔力值调整得更大。具体策略如下:

  1. 将材料按照魔力值从小到大排序。
  2. 从最大的两个魔力值开始,将它们的乘积赋值给最大的魔力值,并将次大的魔力值设为 1 1 1
  3. 重复步骤 2,直到进行了 m m m 次操作或者无法继续操作为止。
  4. 计算所有材料的魔力值之和并输出结果。

时间复杂度为 O ( n log ⁡ n ) O(n \log n) O(nlogn),空间复杂度为 O ( n ) O(n) O(n)

参考代码

  • Python
n, m = map(int, input().split())
a = list(map(int, input().split()))
mod = 10**9 + 7a.sort()
ptr1, ptr2 = n - 2, n - 1for i in range(m):if ptr1 < 0:breaktemp = (a[ptr1] * a[ptr2]) % moda[ptr1] = 1a[ptr2] = tempptr1 -= 1result = sum(a) % mod
print(result)
  • Java
import java.util.Arrays;
import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int[] input = Arrays.stream(scanner.nextLine().split(" ")).mapToInt(Integer::parseInt).toArray();int n = input[0], m = input[1];long[] a = Arrays.stream(scanner.nextLine().split(" ")).mapToLong(Long::parseLong).toArray();long mod = (long) (1e9 + 7);Arrays.sort(a);int ptr1 = n - 2, ptr2 = n - 1;for (int i = 0; i < m && ptr1 >= 0; i++) {long temp = (a[ptr1] * a[ptr2]) % mod;a[ptr1] = 1;a[ptr2] = temp;ptr1--;}long result = 0;for (long num : a) {result = (result + num) % mod;}System.out.println(result);}
}
  • Cpp
#include <iostream>
#include <algorithm>
using namespace std;const int mod = 1e9 + 7;int main() {int n, m;cin >> n >> m;long long a[n];for (int i = 0; i < n; i++) {cin >> a[i];}sort(a, a + n);int ptr1 = n - 2, ptr2 = n - 1;for (int i = 0; i < m && ptr1 >= 0; i++) {long long temp = (a[ptr1] * a[ptr2]) % mod;a[ptr1] = 1;a[ptr2] = temp;ptr1--;}long long result = 0;for (int i = 0; i < n; i++) {result = (result + a[i]) % mod;}cout << result << endl;return 0;
}

04.K小姐的礼物盒

问题描述

K小姐有两个礼物盒,每个礼物盒中都装有 n n n 个礼物。第一个礼物盒中的礼物价值分别为 a 1 , a 2 , … , a n a_1, a_2, \dots, a_n a1,a2,,an,第二个礼物盒中的礼物价值分别为 b 1 , b 2 , … , b n b_1, b_2, \dots, b_n b1,b2,,bn

K小姐想要重新排列两个礼物盒中的礼物,使得对于每个 i ∈ [ 1 , n ] i \in [1, n] i[1,n],第一个礼物盒中第 i i i 个位置的礼物价值 a i a_i ai 与第二个礼物盒中第 i i i 个位置的礼物价值 b i b_i bi 之和都满足 1 ≤ a i + b i ≤ m 1 \leq a_i + b_i \leq m 1ai+bim

现在给定 q q q 组询问,每组询问给定两个礼物盒的初始状态,请判断是否存在一种重排方案满足K小姐的要求。

输入格式

第一行输入一个整数 q q q ( 1 ≤ q ≤ 30 ) (1 \leq q \leq 30) (1q30),表示询问的组数。

接下来 q q q 组询问,每组询问格式如下:

第一行两个整数 n n n ( 1 ≤ n ≤ 500 ) (1 \leq n \leq 500) (1n500) m m m ( 1 ≤ m ≤ 500 ) (1 \leq m \leq 500) (1m500),分别表示礼物的数量和价值和的上限。

第二行 n n n 个整数 a 1 , a 2 , … , a n a_1, a_2, \dots, a_n a1,a2,,an,表示第一个礼物盒中的礼物价值。

第三行 n n n 个整数 b 1 , b 2 , … , b n b_1, b_2, \dots, b_n b1,b2,,bn,表示第二个礼物盒中的礼物价值。

其中, − 500 ≤ a i , b i ≤ 500 -500 \leq a_i, b_i \leq 500 500ai,bi500

输出格式

输出 q q q 行,每行对应一组询问的答案。如果存在满足条件的重排方案,输出 Yes,否则输出 No

样例输入

2
5 3
-1 -2 3 4 5
-1 3 4 2 5
5 6
-1 -2 3 4 5
-1 3 4 2 5

样例输出

No
Yes

数据范围

  • 1 ≤ q ≤ 30 1 \leq q \leq 30 1q30
  • 1 ≤ n ≤ 500 1 \leq n \leq 500 1n500
  • 1 ≤ m ≤ 500 1 \leq m \leq 500 1m500
  • − 500 ≤ a i , b i ≤ 500 -500 \leq a_i, b_i \leq 500 500ai,bi500

题解

本题可以使用贪心的思想来解决。对于每组询问,我们可以将两个礼物盒中的礼物分别按照价值进行排序,然后考虑将第一个礼物盒中价值最小的礼物与第二个礼物盒中价值最大的礼物配对,依次类推。

对于排序后的两个礼物盒,我们从左右两端开始配对,即第一个礼物盒中的第 i i i 个礼物与第二个礼物盒中的第 n − i + 1 n-i+1 ni+1 个礼物配对。如果对于每一对配对的礼物,它们的价值和都满足 1 ≤ a i + b n − i + 1 ≤ m 1 \leq a_i + b_{n-i+1} \leq m 1ai+bni+1m,那么就存在满足条件的重排方案;否则,不存在满足条件的重排方案。

时间复杂度:对于每组询问,排序的时间复杂度为 O ( n log ⁡ n ) O(n \log n) O(nlogn),配对检查的时间复杂度为 O ( n ) O(n) O(n),总时间复杂度为 O ( q × ( n log ⁡ n + n ) ) O(q \times (n \log n + n)) O(q×(nlogn+n))
空间复杂度: O ( n ) O(n) O(n),用于存储礼物盒中的礼物价值。

参考代码

  • Python
q = int(input())for _ in range(q):n, m = map(int, input().split())a = list(map(int, input().split()))b = list(map(int, input().split()))a.sort()b.sort(reverse=True)flag = Truefor i in range(n):if not (1 <= a[i] + b[i] <= m):flag = Falsebreakprint("Yes" if flag else "No")
  • Java
import java.util.Arrays;
import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int q = sc.nextInt();while (q-- > 0) {int n = sc.nextInt();int m = sc.nextInt();int[] a = new int[n];int[] b = new int[n];for (int i = 0; i < n; i++) {a[i] = sc.nextInt();}for (int i = 0; i < n; i++) {b[i] = sc.nextInt();}Arrays.sort(a);Arrays.sort(b);reverse(b);boolean flag = true;for (int i = 0; i < n; i++) {if (a[i] + b[i] < 1 || a[i] + b[i] > m) {flag = false;break;}}System.out.println(flag ? "Yes" : "No");}}private static void reverse(int[] arr) {int left = 0, right = arr.length - 1;while (left < right) {int temp = arr[left];arr[left] = arr[right];arr[right] = temp;left++;right--;}}
}
  • Cpp
#include <iostream>
#include <algorithm>
using namespace std;const int MAX_N = 500;int main() {int q;cin >> q;while (q--) {int n, m;cin >> n >> m;int a[MAX_N], b[MAX_N];for (int i = 0; i < n; i++) {cin >> a[i];}for (int i = 0; i < n; i++) {cin >> b[i];}sort(a, a + n);sort(b, b + n, greater<int>());bool flag = true;for (int i = 0; i < n; i++) {if (a[i] + b[i] < 1 || a[i] + b[i] > m) {flag = false;break;}}cout << (flag ? "Yes" : "No") << endl;}return 0;
}

05.LYA 的平均分目标

问题描述

LYA 是一名刚入学的大学新生,她的专业课程有 n n n 门。在大一第一学期结束时,她的任课老师给每门课程都打了分数。这 n n n 个分数构成了一个数组 a 1 , a 2 , … , a n a_1, a_2, \ldots, a_n a1,a2,,an

作为一名学霸,LYA 希望自己的平均分能达到 k k k 分。为此,她想从这 n n n 门课程中选出一些连续的课程,使得这些课程的平均分恰好等于 k k k。现在,她想知道最多可以选出多少门课程。

输入格式

第一行包含两个正整数 n n n k k k,分别表示课程总数和目标平均分。

第二行包含 n n n 个正整数 a 1 , a 2 , … , a n a_1, a_2, \ldots, a_n a1,a2,,an,表示每门课程的分数。

输出格式

输出一个整数,表示 LYA 最多可以选出的满足条件的连续课程数量。

样例输入

5 2
1 3 2 4 1

样例输出

3

数据范围

  • 1 ≤ n ≤ 1 0 5 1 \le n \le 10^5 1n105
  • 1 ≤ k , a i ≤ 1 0 9 1 \le k, a_i \le 10^9 1k,ai109

题解

本题可以使用前缀和 + 哈希表的方法来解决。

首先,我们可以计算出数组 a a a 的前缀和数组 s u m sum sum,其中 s u m [ i ] sum[i] sum[i] 表示前 i i i 个元素的和。为了方便计算,我们可以在数组 s u m sum sum 的开头添加一个元素 0 0 0,即 s u m [ 0 ] = 0 sum[0] = 0 sum[0]=0

接下来,我们遍历前缀和数组 s u m sum sum,对于每个位置 i i i,我们计算 s u m [ i ] − i × k sum[i] - i \times k sum[i]i×k。如果当前值出现过,说明存在一个子数组,其元素和为 i × k i \times k i×k,平均值为 k k k。我们可以用哈希表来记录每个值第一次出现的位置,从而快速判断当前值是否出现过。

最后,我们取出最长的满足条件的子数组长度即可。

时间复杂度为 O ( n ) O(n) O(n),空间复杂度为 O ( n ) O(n) O(n)

参考代码

  • Python
n, k = map(int, input().split())
a = list(map(int, input().split()))s = [0] * (n + 1)
for i in range(1, n + 1):s[i] = s[i - 1] + a[i - 1] - kpos = {0: 0}
ans = 0
for i in range(1, n + 1):if s[i] in pos:ans = max(ans, i - pos[s[i]])else:pos[s[i]] = iprint(ans)
  • Java
import java.io.*;
import java.util.*;public class Main {public static void main(String[] args) throws IOException {BufferedReader br = new BufferedReader(new InputStreamReader(System.in));String[] line = br.readLine().split(" ");int n = Integer.parseInt(line[0]);long k = Long.parseLong(line[1]);long[] a = new long[n];line = br.readLine().split(" ");for (int i = 0; i < n; i++) {a[i] = Long.parseLong(line[i]);}long[] s = new long[n + 1];for (int i = 1; i <= n; i++) {s[i] = s[i - 1] + a[i - 1] - k;}Map<Long, Integer> pos = new HashMap<>();pos.put(0L, 0);int ans = 0;for (int i = 1; i <= n; i++) {if (pos.containsKey(s[i])) {ans = Math.max(ans, i - pos.get(s[i]));} else {pos.put(s[i], i);}}System.out.println(ans);}
}
  • Cpp
#include <iostream>
#include <vector>
#include <unordered_map>using namespace std;int main() {int n;long long k;cin >> n >> k;vector<long long> a(n);for (int i = 0; i < n; i++) {cin >> a[i];}vector<long long> s(n + 1);for (int i = 1; i <= n; i++) {s[i] = s[i - 1] + a[i - 1] - k;}unordered_map<long long, int> pos;pos[0] = 0;int ans = 0;for (int i = 1; i <= n; i++) {if (pos.count(s[i])) {ans = max(ans, i - pos[s[i]]);} else {pos[s[i]] = i;}}cout << ans << endl;return 0;
}

写在最后

📧 KK这边最近正在收集近一年互联网各厂的笔试题汇总,如果有需要的小伙伴可以关注后私信一下 KK领取,会在飞书进行同步的跟新。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/794249.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

想要安装ssh?

SSH&#xff08;Secure Shell&#xff09;是一种加密的网络协议&#xff0c;用于在不安全的网络上安全地进行远程登录和执行命令。它通过加密通信和身份验证机制&#xff0c;确保用户和系统之间的通信是安全的。 SSH协议的主要功能包括&#xff1a; 加密通信&#xff1a;SSH使…

虚良SEO-蜘蛛池的作用与工作原理

蜘蛛池是一种SEO优化工具&#xff0c;其主要作用是吸引搜索引擎蜘蛛到特定网站进行爬行和索引&#xff0c;从而提高网站的可见性和排名。下面分别介绍蜘蛛池的作用和工作原理。 蜘蛛池的作用&#xff1a; 提高网站收录&#xff1a; 当一个网站新发布时&#xff0c;或者长时间…

哈佛大学商业评论 --- 第三篇:真实世界中的增强现实

AR将全面融入公司发展战略&#xff01; AR将成为人类和机器之间的新接口&#xff01; AR将成为人类的关键技术之一&#xff01; 请将此文转发给您的老板&#xff01; --- 本文作者&#xff1a;Michael E.Porter和James E.Heppelmann 虽然物理世界是三维的&#xff0c;但大…

如何查询大数据信用报告?查询时需要注意的事项有哪些?

在数字化时代&#xff0c;大数据信用评分对于需要资金周转的个人或企业来说至关重要。许多机构在贷款审批过程中使用大数据信用评分作为风险控制的重要手段。因此&#xff0c;了解自己的大数据信用状况成为了常规操作。本文将详细介绍如何查询大数据信用报告以及查询时需要注意…

ES6: class类

类 class 面相对象class关键字创建类关于类的继承 面相对象 一切皆对象。 举例&#xff1a; 操作浏览器要使用window对象&#xff1b;操作网页要使用document对象&#xff1b;操作控制台要使用console对象&#xff1b; ES6中增加了类的概念&#xff0c;其实ES5中已经可以实现类…

震惊!子元素的padding/margin-top依据的是父元素的宽度!

子元素的margin-top和padding-top都是以父元素的宽度为基准 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta name"viewport" content"widthdevice-width, initial-scale1.0" />…

7.java openCV4.x 入门-Mat之转换、重塑与计算

专栏简介 &#x1f492;个人主页 &#x1f4f0;专栏目录 点击上方查看更多内容 &#x1f4d6;心灵鸡汤&#x1f4d6;我们唯一拥有的就是今天&#xff0c;唯一能把握的也是今天建议把本文当作笔记来看&#xff0c;据说专栏目录里面有相应视频&#x1f92b; &#x1f9ed;文…

openEuler 22.03 SP3 安装图像桌面 UKUI

UKUI 是麒麟软件团队历经多年打造的一款 Linux 桌面&#xff0c;主要基于 GTK 和 QT 开发。与其他 UI 界面相比&#xff0c;UKUI 更加注重易用性和敏捷度&#xff0c;各元件相依性小&#xff0c;可以不依赖其他套件而独自运行&#xff0c;给用户带来亲切和高效的使用体验。 UK…

day2 | 数组 part-2 | 977 有序数组的平方、209 长度最小的子数组、59 螺旋矩阵 II

今日任务 977 有序数组的平方 (题目: . - 力扣&#xff08;LeetCode&#xff09;)209 长度最小的子数组 (题目: ​​​​​​​. - 力扣&#xff08;LeetCode&#xff09;)59 螺旋矩阵 II (题目:. - 力扣&#xff08;LeetCode&#xff09;) 有序数组的平方 (双指针) 给你一个…

如何使用 Viggle AI 生成模特动作视频

Viggle AI 是一款基于骨骼动画的 AI 工具&#xff0c;可以将图片转换为流畅且一致的角色动画。 这意味着您可以上传一张模特全身照&#xff0c;然后指定该模特要执行的动作&#xff0c;Viggle AI 会自动生成一段由该模特执行该动作的视频。 步骤 1&#xff1a;准备工作 首先&…

基于VUE实现的餐厅经营游戏项目源码

WebMOOC 餐厅游戏 项目介绍 实现了一个类游戏的餐厅经营模拟&#xff0c;涉及的前端知识有移动端 HTML 页面布局及样式实现。实现了厨师、顾客等角色的关键操作&#xff0c;完成从顾客等位、点菜、烹饪、用餐、支付的一系列状态变更的数据、信息、交互、展现的变化及处理。 …

【Redis系列】Spring Boot 集成 Redis 实现缓存功能

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

c# wpf template itemtemplate+dataGrid

1.概要 2.代码 <Window x:Class"WpfApp2.Window8"xmlns"http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x"http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d"http://schemas.microsoft.com/expression/blend…

SpringCloudAlibabaSeate处理分布式事务

SpringCloudAlibabaSeate处理分布式事务 1、部分面试题 微服务boot/cloud做的项目&#xff0c;你不可能只有一个数据库吧&#xff1f;那么多个数据库之间如何处理分布式事务的&#xff1f; 一个场景&#xff1a;在订单支付成功后&#xff0c;交易中心会调用订单中心的服务把订…

导入项目运行后,报错java: Cannot find JDK ‘XX‘ for module ‘XX‘

解决方案&#xff1a; 1、删除.idea和.iml文件 2、右击此module&#xff0c;点击 Open Module Settings 在 Module SDK 中选择所安装的java版本后&#xff0c;点击右下角 Apply 3、再运行试试吧&#xff0c;成功&#xff01;

蓝桥杯(4):python动态规划DF[1]

动态规划相当于正着想&#xff1f;dfs主要适用于位置的变化&#xff1f; 子问题&#xff01;状态&#xff0c;状态转移方程 1 一维DP 1.1 定义 重叠子问题&#xff01;转换成子问题 &#xff0c;与记忆化搜索很像 1.2 例子 1.2.1 上楼梯 子问题到最终的问题只能跨一步&…

用顺序表实现通讯录

前言 这次的通讯录是基于上一篇的动态顺序表的基础上实现的&#xff0c;如果对动态顺序表不熟悉&#xff0c;可以打开这个链接阅读http://t.csdnimg.cn/9zJ5g&#xff0c;这里我们会调用动态顺序表的函数。 如果想看静态顺序表实现通讯录&#xff0c;可以打开这个链接阅读http:…

Linux+HA高可用24X7的安全保证

一&#xff0e; 介绍作为服务器&#xff0c;需要提供一定的24X7的安全保证&#xff0c;这样可以防止关键节点的宕机引起系统的全面崩溃。利用OpenSource开源软件&#xff0c;完成系统的高可靠双机热备方案。基于linux的 HA软件可靠稳定&#xff0c;比使用商业版本的HA软件降低成…

CMakeLists.txt编写简单介绍:CMakeLists.txt同时编译.cpp和.cu

关于CMakeLists.txt的相关介绍,这里不赘诉,本人的出发点是借助于CMakeLists.txt掌握基本的C++构建项目流程,下面是本人根据网络资料以及个人实践掌握的资料。 CMakeList.txt构建C++项目 下图是一个使用CUDA实现hello world的项目,一般来说,一个标准的C++项目包括三个文件…

python标准数据类型--列表常用方法

在Python中&#xff0c;列表&#xff08;List&#xff09;是一种非常常用的数据类型&#xff0c;用于存储一组有序的元素。Python提供了许多内置方法来操作列表&#xff0c;使得对列表的处理变得非常灵活和便捷。在本篇博客中&#xff0c;我们将介绍一些常用的列表方法&#xf…