【秋招突围】2024届秋招笔试-阿里系列笔试题-第二套-三语言题解(Java/Cpp/Python)

news2025/2/27 20:03:44

🍭 大家好这里是清隆学长 ,一枚热爱算法的程序员

✨ 本系计划跟新各公司春秋招的笔试题

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

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

📧 清隆这边最近正在收集近一年互联网各厂的笔试题汇总,如果有需要的小伙伴可以关注CSDN同名公主号领取,会在飞书进行同步的跟新。

文章目录

    • 📖 写在前面
      • 夏天要来了 秋招还会远吗?
    • ✨ 01.K小姐的魔药配方
      • 问题描述
      • 输入格式
      • 输出格式
      • 样例输入
      • 样例输出
      • 数据范围
      • 题解
      • 参考代码
    • ⚡️ 02.K小姐的魔法阵
      • 问题描述
      • 输入格式
      • 输出格式
      • 样例输入
      • 样例输出
      • 数据范围
      • 题解
      • 参考代码
    • 💽 03.K小姐的魔法咒语
      • 问题描述
      • 输入格式
      • 输出格式
      • 样例输入
      • 样例输出
      • 数据范围
      • 题解
      • 参考代码
    • 🎀 写在最后
    • 🛖 这里介绍一下咱们的笔试打卡小屋
      • 🥰 打卡奖励
      • 🕰 每日学习安排
      • 📖 打卡小屋涉及题型
        • 基础算法
        • 基础数据结构
        • 搜索
        • 动态规划 & 贪心 & 数论

📖 写在前面

夏天要来了 秋招还会远吗?

前不久春招也算是圆满结束咯,大家有拿到心仪的 offer吗?
接下来互联网的秋招也快来啦,小伙伴们有开始准备了吗?
本次给大家带来24届秋招 阿里系 的笔试题目三语言解析(Java/Python/Cpp)

文末有清隆学长的笔试陪伴打卡小屋活动介绍:
✨丰富的打卡奖励等你来领哦,大厂笔试题汇总笔试面试经验贴算法笔试模版
💽 有兴趣的小伙伴们也可以了解一下,不要错过啦~

✨ 01.K小姐的魔药配方

问题描述

K小姐是一位魔药大师,她有 n n n 种魔药材料。每种材料都包含一定比例的稀有元素和普通元素。第 i i i 种材料中,稀有元素的比例为 a i % a_i\% ai%,普通元素的比例为 b i % b_i\% bi%

K小姐想要配制一种魔药,要求稀有元素的比例不低于 50 % 50\% 50%。她可以选择任意多种材料,将它们混合在一起。

请问,K小姐最多可以配制出多少份这样的魔药?

输入格式

第一行包含一个正整数 n n n 1 ≤ n ≤ 1 0 5 1 \leq n \leq 10^5 1n105),表示材料的种类数。

第二行包含 n n n 个整数 a 1 , a 2 , … , a n a_1, a_2, \ldots, a_n a1,a2,,an 0 ≤ a i ≤ 100 0 \leq a_i \leq 100 0ai100),表示每种材料中稀有元素的比例。

第三行包含 n n n 个整数 b 1 , b 2 , … , b n b_1, b_2, \ldots, b_n b1,b2,,bn 0 ≤ b i ≤ 100 0 \leq b_i \leq 100 0bi100),表示每种材料中普通元素的比例。

保证对于每种材料,有 a i + b i = 100 a_i + b_i = 100 ai+bi=100

输出格式

输出一个整数,表示K小姐最多可以配制出的魔药份数。

样例输入

3
50 60 30
50 40 70

样例输出

110

数据范围

  • 1 ≤ n ≤ 1 0 5 1 \leq n \leq 10^5 1n105
  • 0 ≤ a i , b i ≤ 100 0 \leq a_i, b_i \leq 100 0ai,bi100
  • a i + b i = 100 a_i + b_i = 100 ai+bi=100

题解

我们可以先将材料按照稀有元素的比例从高到低排序。然后从前往后选择材料,直到选择的材料中稀有元素的总比例不再大于等于 50 % 50\% 50%

设前 i i i 种材料中,稀有元素的总比例为 s u m a sum_a suma,普通元素的总比例为 s u m b sum_b sumb。如果 s u m a ≥ s u m b sum_a \geq sum_b sumasumb,那么前 i i i 种材料就可以用来配制魔药。

我们可以用贪心的思想来证明这一做法的正确性。对于当前选择的材料,如果替换成任何一种未选择的材料,那么稀有元素的总比例一定会下降,因为未选择的材料的稀有元素比例一定小于等于当前材料。因此,我们的选择方案是最优的。

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

参考代码

  • Python
n = int(input())
a = list(map(int, input().split()))
b = list(map(int, input().split()))

materials = sorted(zip(a, b), reverse=True)

sum_a = sum_b = 0
ans = 0
for x, y in materials:
    if sum_a + x >= sum_b + y:
        sum_a += x
        sum_b += y
        ans += x
    else:
        break

print(ans)
  • Java
import java.util.*;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = 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();
        }

        int[][] materials = new int[n][2];
        for (int i = 0; i < n; i++) {
            materials[i] = new int[]{a[i], b[i]};
        }
        Arrays.sort(materials, (x, y) -> y[0] - x[0]);

        int sumA = 0, sumB = 0;
        int ans = 0;
        for (int[] m : materials) {
            if (sumA + m[0] >= sumB + m[1]) {
                sumA += m[0];
                sumB += m[1];
                ans += m[0];
            } else {
                break;
            }
        }

        System.out.println(ans);
    }
}
  • Cpp
#include <iostream>
#include <algorithm>
using namespace std;

const int N = 1e5 + 10;
int a[N], b[N];

int main() {
    int n;
    cin >> n;
    for (int i = 0; i < n; i++) {
        cin >> a[i];
    }
    for (int i = 0; i < n; i++) {
        cin >> b[i];
    }

    vector<pair<int, int>> materials;
    for (int i = 0; i < n; i++) {
        materials.emplace_back(a[i], b[i]);
    }
    sort(materials.begin(), materials.end(), greater<pair<int, int>>());

    int sumA = 0, sumB = 0;
    int ans = 0;
    for (auto& m : materials) {
        if (sumA + m.first >= sumB + m.second) {
            sumA += m.first;
            sumB += m.second;
            ans += m.first;
        } else {
            break;
        }
    }

    cout << ans << endl;
    return 0;
}

⚡️ 02.K小姐的魔法阵

问题描述

K小姐在探索一座神秘的魔法塔时,发现了一个奇特的魔法阵。这个魔法阵由 n n n 个魔法石组成,每个魔法石上都刻有一个正整数。然而,由于年代久远,魔法阵上的数字已经变得模糊不清。

K小姐凭借自己的魔法知识,了解到这个魔法阵的数字排列满足以下规律:如果将魔法石上的数字按顺序排列成一个序列 a a a,那么对于任意的 1 ≤ i ≤ n 1 \leq i \leq n 1in,都有 a a i = n − i + 1 a_{a_i} = n - i + 1 aai=ni+1

现在,K小姐希望你能帮助她还原这个神秘的魔法阵。

输入格式

输入只包含一个正整数 n n n 1 ≤ n ≤ 1 0 5 1 \leq n \leq 10^5 1n105),表示魔法阵中魔法石的数量。

输出格式

如果能够还原出符合条件的魔法阵,则输出一行,包含 n n n 个正整数,表示还原后的魔法阵中每个魔法石上的数字。如果有多个可能的解,输出任意一个即可。

如果无法还原出符合条件的魔法阵,则输出一行,包含一个整数 − 1 -1 1

样例输入

5

样例输出

2 5 3 1 4

数据范围

  • 1 ≤ n ≤ 1 0 5 1 \leq n \leq 10^5 1n105

题解

我们可以根据给定的规律,直接构造出符合条件的魔法阵。

首先,我们可以发现,如果 n n n 4 4 4 的倍数或者 4 4 4 的倍数加 1 1 1,那么就一定存在符合条件的魔法阵。否则,无法构造出符合条件的魔法阵。

对于 n n n 4 4 4 的倍数或者 4 4 4 的倍数加 1 1 1 的情况,我们可以按照以下方式构造魔法阵:

  1. 对于 i i i 为奇数且 1 ≤ i ≤ n 2 1 \leq i \leq \frac{n}{2} 1i2n,令 a i = i + 1 a_i = i + 1 ai=i+1 a i + 1 = n − i + 1 a_{i+1} = n - i + 1 ai+1=ni+1
  2. 对于 i i i 为奇数且 1 ≤ i ≤ n 2 1 \leq i \leq \frac{n}{2} 1i2n,令 a n − i + 1 = n − i a_{n-i+1} = n - i ani+1=ni a n − i = i a_{n-i} = i ani=i
  3. 如果 n n n 为奇数,令 a n + 1 2 = n + 1 2 a_{\frac{n+1}{2}} = \frac{n+1}{2} a2n+1=2n+1

按照上述方式构造出的序列 a a a 即为符合条件的魔法阵。

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

参考代码

  • Python
n = int(input())
a = [0] * (n + 1)

if n % 4 == 0 or n % 4 == 1:
    for i in range(1, n // 2 + 1, 2):
        a[i] = i + 1
        a[i + 1] = n - i + 1
        a[n - i + 1] = n - i
        a[n - i] = i

    if n % 2 != 0:
        a[n // 2 + 1] = n // 2 + 1

    print(' '.join(map(str, a[1:])))
else:
    print(-1)
  • Java
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int[] a = new int[n + 1];

        if (n % 4 == 0 || n % 4 == 1) {
            for (int i = 1; i <= n / 2; i += 2) {
                a[i] = i + 1;
                a[i + 1] = n - i + 1;
                a[n - i + 1] = n - i;
                a[n - i] = i;
            }

            if (n % 2 != 0) {
                a[n / 2 + 1] = n / 2 + 1;
            }

            for (int i = 1; i <= n; i++) {
                System.out.print(a[i] + " ");
            }
        } else {
            System.out.println(-1);
        }
    }
}
  • Cpp
#include <iostream>
using namespace std;

const int N = 1e5 + 10;
int a[N];

int main() {
    int n;
    cin >> n;

    if (n % 4 == 0 || n % 4 == 1) {
        for (int i = 1; i <= n / 2; i += 2) {
            a[i] = i + 1;
            a[i + 1] = n - i + 1;
            a[n - i + 1] = n - i;
            a[n - i] = i;
        }

        if (n % 2 != 0) {
            a[n / 2 + 1] = n / 2 + 1;
        }

        for (int i = 1; i <= n; i++) {
            cout << a[i] << " ";
        }
    } else {
        cout << -1 << endl;
    }

    return 0;
}

💽 03.K小姐的魔法咒语

问题描述

K小姐是一位强大的魔法师,她掌握了许多神奇的魔法咒语。这些咒语都是由小写字母组成的字符串。

在这些咒语中,有一类特殊的咒语,它们满足以下条件:在咒语中,有且仅有一种字母出现了偶数次,其余字母都出现了奇数次。

现在,K小姐想知道,给定一个字符串,它的子序列中有多少个是特殊咒语。注意,子序列可以不连续,但必须保持原有的相对顺序。

答案可能很大,请对 1 0 9 + 7 10^9+7 109+7 取模。

输入格式

输入一个由小写字母组成的字符串,长度不超过 2 × 1 0 5 2 \times 10^5 2×105

输出格式

输出一个整数,表示特殊咒语的数量,答案需要对 1 0 9 + 7 10^9+7 109+7 取模。

样例输入

abccc

样例输出

12

数据范围

  • 字符串长度不超过 2 × 1 0 5 2 \times 10^5 2×105

题解

我们可以用组合数学的方法来解决这个问题。

对于每一种字母,我们统计它在字符串中出现的次数。如果某个字母出现了至少两次,那么我们可以选择其中的两个位置,组成一个特殊咒语的子序列。

设第 i i i 种字母出现了 c n t i cnt_i cnti 次,那么我们可以从中选择 2 2 2 个位置的方案数为 C ( c n t i , 2 ) C(cnt_i, 2) C(cnti,2)

对于其他字母,我们可以选择是否将它们包含在子序列中。如果包含,就选择它们出现的所有位置;如果不包含,就一个位置也不选。因此,对于每种其他字母,我们有 2 c n t j 2^{cnt_j} 2cntj 种选择方案。

但是,我们需要排除掉同时选择两个位置的情况,因为那样就不是特殊咒语了。排除的方案数为 C ( c n t j , 2 ) C(cnt_j, 2) C(cntj,2)

因此,对于每种出现至少两次的字母 i i i,它对答案的贡献为:

C ( c n t i , 2 ) × ∏ j ≠ i ( 2 c n t j − C ( c n t j , 2 ) ) C(cnt_i, 2) \times \prod_{j \neq i} (2^{cnt_j} - C(cnt_j, 2)) C(cnti,2)×j=i(2cntjC(cntj,2))

我们将所有的贡献相加,就得到了最终的答案。

时间复杂度为 O ( n + 26 × 26 ) O(n + 26 \times 26) O(n+26×26),空间复杂度为 O ( n ) O(n) O(n)。其中 n n n 为字符串长度。

参考代码

  • Python
mod = 10**9 + 7
c = [[0]*3 for _ in range(200010)]
sums = [0]*27
counts = [0]*27

def init():
    for i in range(2, 200010):
        c[i][2] = i * (i - 1) // 2 % mod

def get_res(x):
    res = 1
    for i in range(1, 27):
        if x != i:
            res = (res * sums[i]) % mod
    return res

def qmi(a, b, mod):
    res = 1
    while b:
        if b & 1:
            res = (res * a) % mod
        a = (a * a) % mod
        b >>= 1
    return res

if __name__ == "__main__":
    s = input()
    for i in s:
        counts[ord(i) - ord('a') + 1] += 1
    init()
    for i in range(1, 27):
        sums[i] = ((qmi(2, counts[i], mod)) % mod - c[counts[i]][2] + mod) % mod
    res = 0
    for i in range(1, 27):
        if counts[i] >= 2:
            res = (res + c[counts[i]][2] * get_res(i) % mod) % mod
    print(res)

  • Java
import java.util.Scanner;

public class Main {
    static long[][] c = new long[200010][3];
    static long[] sums = new long[27];
    static long mod = (long) 1e9 + 7;
    static long[] counts = new long[27];

    static void init() {
        for (int i = 2; i < 200010; i++) {
            c[i][2] = (long) i * (i - 1) / 2 % mod;
        }
    }

    static long getRes(int x) {
        long res = 1;
        for (int i = 1; i <= 26; i++) {
            if (x != i) {
                res = (res * sums[i]) % mod;
            }
        }
        return res;
    }

    static long qmi(long a, long b, long mod) {
        long res = 1;
        while (b > 0) {
            if ((b & 1) == 1) res = (res * a) % mod;
            a = (a * a) % mod;
            b >>= 1;
        }
        return res;
    }

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String s = scanner.next();
        for (int i = 0; i < s.length(); i++) {
            counts[s.charAt(i) - 'a' + 1]++;
        }
        init();
        for (int i = 1; i <= 26; i++) {
            sums[i] = ((qmi(2, counts[i], mod)) % mod - c[(int) counts[i]][2] + mod) % mod;
        }
        long res = 0;
        for (int i = 1; i <= 26; i++) {
            if (counts[i] >= 2) {
                res = (res + c[(int) counts[i]][2] * getRes(i) % mod) % mod;
            }
        }
        System.out.println(res);
        scanner.close();
    }
}

  • Cpp
#include <iostream>
using namespace std;

long long c[200010][3];
long long sums[27], mod = 1000000007, counts[27];
string s;

void init() {
    for (int i = 2; i < 200010; i++) {
        c[i][2] = ((long long)i * (i - 1) / 2) % mod;
    }
}

long long getRes(int x) {
    long long res = 1;
    for (int i = 1; i <= 26; i++) {
        if (x != i) {
            res = (res * sums[i]) % mod;
        }
    }
    return res;
}

long long qmi(long long a, long long b, long long mod) {
    long long res = 1;
    while (b) {
        if (b & 1) res = (res * a) % mod;
        a = (a * a) % mod;
        b >>= 1;
    }
    return res;
}

int main() {
    cin >> s;
    for (int i = 0; i < s.size(); i++) {
        counts[s[i] - 'a' + 1]++;
    }
    init();
    for (int i = 1; i <= 26; i++) {
        sums[i] = ((qmi(2, counts[i], mod)) % mod - c[counts[i]][2] + mod) % mod;
    }
    long long res = 0;
    for (int i = 1; i <= 26; i++) {
        if (counts[i] >= 2) {
            res = (res + c[counts[i]][2] * getRes(i) % mod) % mod;
        }
    }
    cout << res;
    return 0;
}

🎀 写在最后

🛖 这里介绍一下咱们的笔试打卡小屋

在这里插入图片描述

✨ 打卡小屋旨在陪伴大家,养成每日学习的好习惯。在这里,你可以:

  • 🤝 与备战笔试的小伙伴相识,找到志同道合的学习小组
  • 📝 通过写题解,巩固做题思路,养成良好的记录习惯
  • 💡 系统掌握常考算法和数据结构,了解互联网笔试难度
  • 🎁 坚持打卡,获得丰厚奖励,激励自己持之以恒

🥰 打卡奖励

打卡时长奖励内容
7天任选一家最新互联网笔试真题 x 1 (价值29.9r)
14天任选一家最新互联网笔试真题 x 3 + 笔试面试经验贴
21天任选一家最新互联网笔试真题 x 5 + 清隆三语言算法模版
28天最新互联网大厂笔试真题汇总(价值199r) + 华为OD机试训练营 (价值89r)

7天打卡即可值回票价,心动不如行动!

🕰 每日学习安排

小屋将在每日上午发放打卡题目,包括:

  • 一道算法模版题,帮助大家掌握常用算法套路
  • 根据算法模版,精选一道对应的大厂笔试真题,巩固算法应用

让我们一起直击笔试重点,攻克常考题型!

📖 打卡小屋涉及题型

小屋从零基础出发,涵盖笔试常考知识点:

基础算法
  • 自定义排序
  • 二分
  • 前缀和
  • 差分
  • 双指针
基础数据结构
  • 栈 & 单调栈
  • 队列 & 单调队列
  • 并查集
  • 优先队列(堆)
搜索
  • DFS & BFS 基础应用
  • 树的遍历
  • 基础图论
动态规划 & 贪心 & 数论
  • 快速幂
  • 组合数
  • 质数 & 因数
  • 位运算
  • 基础动态规划
  • 常见贪心

在这里插入图片描述

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

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

相关文章

基于Ascend C的FlashAttention算子性能优化最佳实践

LLM的Attention部分处理给计算系统带来巨大的计算和访存压力。业界先后出现FlashAttention、FlashAttention2等算法&#xff0c;通过计算等价和切分有效降低HBM数据访问量。 昇腾异构计算架构CANN针对昇腾AI处理器的片上内存和缓存大小&#xff0c;以及数据搬运通路&#xff0…

ozon如何上架产品,ozon平台怎么上架产品

在电子商务领域&#xff0c;产品上架是商家成功运营的关键步骤之一。对于正在或计划进军俄罗斯市场的卖家来说&#xff0c;了解如何在Ozon平台高效上架产品至关重要。接下来讲解下ozon如何上架产品&#xff0c;ozon平台怎么上架产品&#xff01; 产品上架工具&#xff1a;D.DDq…

基础-02-数据通信基础

文章目录 1.信道特征1.1 数据通信概念1.2 信道特性-信道带宽W1.3 信道特性-码元和码元速率1.4 信道特性-奈奎斯特定理1.5 信道特性-香农定理1.6 带宽/码元速率/数据速率关系梳理1.7 练习题 2.信道延迟2.1 信道延迟概念2.2 信道延迟计算2.3 练习题 3. 传输介质3.1 传输介质概念3…

电脑屏幕监控软件有哪些?2025年监控软件排行榜

电脑屏幕监控软件有哪些&#xff1f;2025年监控软件排行榜 虽然现在还是2024年&#xff0c;但是有一些被广泛讨论和推荐的电脑屏幕监控软件&#xff0c;它们将在2025年异军突起&#xff0c;成为行业的引领者。 1.安企神软件&#xff1a; 功能全面的电脑屏幕监控软件&#xf…

短视频矩阵系统/源码搭建---拆解热门视频功能开发上线

短视频矩阵系统/源码搭建 一、短视频矩阵系统源码开发需要用到以下技术&#xff1a; 1.前端技术&#xff1a;HTML、CSS、JavaScript、Vue.js等前端框架。 2.后端技术&#xff1a;Java、Python、PHP等后端语言及相关框架&#xff0c;如Spring Boot、Django、Laravel等。 3.移…

火车头采集怎么使用GPT等AI原创文章

火车头采集官方并没有GPT、百度文心一言AI、阿里通义千问AI、Kimi大模型等AI功能&#xff0c;但支持接入插件&#xff0c;可以编写相应人工智能AI原创文章插件&#xff08;火车头采集支持PHP和c#这2种语言的插件编写&#xff09;&#xff0c;或者导入第三方封装好的GPT等AI原创…

文件操作学不懂,小代老师带你深入理解文件操作(下卷)

文件操作学不懂&#xff0c;小代老师带你深入理解文件操作下卷 6. ⽂件的随机读写6.1 fseek6.2 ftell6.3 rewind 7. ⽂件读取结束的判定7.1 被错误使⽤的 feof 8. ⽂件缓冲区 6. ⽂件的随机读写 6.1 fseek 根据⽂件指针的位置和偏移量来定位⽂件指针&#xff08;⽂件内容的光…

RV32F\RV32D指令集

RV32F\RV32D指令集 F扩展1、浮点控制状态寄存器2、指令类型F扩展 F扩展增加了32个浮点寄存器f0-f31,每个32位宽,以及一个浮点控制和状态寄存器fcsr,其中包含浮点单元的工作模式和异常状态。FLEN=32表示F单精度浮点扩展,大多数浮点指令对浮点寄存器中的值进行操作。浮点加载…

苹果AI入华探讨及Apple Intelligence体验分析

引言 近日&#xff0c;苹果在WWDC 2024上引起了广泛关注。尽管苹果在发布会上并未明确提到“AI”一词&#xff0c;但从其展示的众多新功能中可以看出&#xff0c;AI已深深嵌入到其产品中。那么&#xff0c;苹果AI何时能在中国落地&#xff1f;它的模型大小是多少&#xff1f;用…

appproxy 一个轻量级的VPN代理工具,支持HTTP, SOCKS5协议

appproxy 项目背景 在分析app的时候,偶尔需要抓包,尝试了目前比较常见的代理工具Drony Postern ProxyDroid 发现都有一个相同的问题,对于较新的Android系统不太友好,要么app列表显示不正常,或者界面过于复杂,往往设置之后经常会失效,偶然在play上发现一个比较新的代理工具,界…

沉睡而且“狡猾”的特工:大模型也可以是!

大模型技术论文不断&#xff0c;每个月总会新增上千篇。本专栏精选论文重点解读&#xff0c;主题还是围绕着行业实践和工程量产。若在某个环节出现卡点&#xff0c;可以回到大模型必备腔调或者LLM背后的基础模型新阅读。而最新科技&#xff08;Mamba,xLSTM,KAN&#xff09;则提…

JVC摄像机SD卡变成RAW的恢复方法

JVC小日本胜利公司&#xff0c;公司名字绕口且产品线极广&#xff0c;涉及汽车、影音、娱乐……&#xff0c;而JVC在摄像机产品方面也有涉及&#xff0c;不过市场上极为少见。下边我们来看下这个JVC摄像机MP4恢复案例。 故障存储: 32G存储卡 RAW文件系统 故障现象: 客户无…

通配符SSL证书的应用范围

首先带大家先来了解一下通配符SSL证书&#xff1a; 通配符证书又名泛域名证书&#xff0c;是一种SSL/TLS证书&#xff0c;用于保护多个域名或无限多个域名。是由域名字段中的通配符*表示。通配符证书最大的亮点在于可以通过绑定一个主域名&#xff0c;从而间接绑定无数的次级子…

性能测试常见的内存溢出问题: JVM 内存溢出如何调优?

针对java项目做性能测试的时候,很多同学都见过一个报错,就是OOM【Out Of MemoryError】;那出现这种报错就是项目发生了内存溢出的问题,这是比较严重的性能问题。所以,作为一个性能测试工程师,我们要能够分析JVM内存的问题以及理解其中的原理,才能更好的给JVM内存出现的性…

国网I6000请求,出现缺少SOAPAction头信息如何解决?

错误代码: Client.NoSOAPAction 这表示客户端请求中缺少SOAPAction头信息。 错误消息: no SOAPAction header! 这明确指出请求中没有包含SOAPAction头。 详细信息: hostname: 9f1957926889&#xff0c;这是服务器的主机名&#xff0c;不直接影响错误分析。 解决方案 添加SOAP…

案例学习-存量更新规划实施探索(武汉)

案例学习-存量更新规划实施探索&#xff08;武汉&#xff09; 武汉市在早期旧城更新实践中发现零散化的更新往往导致资源配置分散、城市建设破碎化等弊病&#xff0c;特别是由于过于强调项目自身“经济平衡”&#xff0c;在实施过程中也逐步暴露出住宅占比过大、强度偏高、公服…

【工具】新手如何正确使用Pycharm?

1. 什么是JetBrains Toolbox JetBrains Toolbox是一个管理工具&#xff0c;用于安装、更新和管理JetBrains开发工具的所有版本。它可以简化多个IDE的管理&#xff0c;并确保你总是使用最新版本的软件。 2. 安装JetBrains Toolbox 步骤1&#xff1a;下载Toolbox 访问JetBrai…

List 列表

文章目录 一、什么是 List 列表1.1 创建 List 列表的方式1.2 列表的新增函数方法1.3 列表的删除函数方法1.4 修改列表数据的方法1.5 列表的查询函数方法1.6 列表的排序和反序1.7 列表的复制 一、什么是 List 列表 List 列表&#xff1a;该数据类型定义的变量可以理解为是一个数…

用Python向Word文档添加页眉和页脚

用Python向Word文档添加页眉和页脚 添加页眉和页脚效果代码 添加页眉和页脚 在本文中&#xff0c;我们将用python向文档中添加页眉和页脚。 效果 添加前的文档&#xff1a; 添加页眉和页脚后&#xff1a; 代码 from docx import Documentdef add_header_footer(doc_path…

C#——静态成员和非静态成员详情

静态成员和非静态成员 调用: 静态属性(static) : 类名.属性名调用 非静态属性(没static) : 1.先创建对象 2.对象.属性 特点: 静态方法里面只能访问静态成员 非经态方法中可以访问所有的属性 static数据成员在类的内部声明&#xff0c;但只能在类的外部定义&#xff0c;…