【阿里淘天笔试题汇总】2024-04-10-阿里淘天春招笔试题-三语言题解(CPP/Python/Java)

news2025/3/12 11:47:25

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

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

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

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

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

文章目录

    • 🌱 01.K小姐爱音乐
      • 问题描述
      • 输入格式
      • 输出格式
      • 样例输入
      • 样例输出
      • 数据范围
      • 题解
      • 参考代码
    • ☘️02.魔法项链
      • 问题描述
      • 输入格式
      • 输出格式
      • 样例输入
      • 样例输出
      • 数据范围
      • 题解
      • 参考代码
    • 🍀 03.魔法森林
      • 问题描述
      • 输入格式
      • 输出格式
      • 样例输入
      • 样例输出
      • 数据范围
      • 题解
      • 参考代码
    • 写在最后
    • 📧 KK这边最近正在收集近一年互联网各厂的笔试题汇总,如果有需要的小伙伴可以关注后私信一下 KK领取,会在飞书进行同步的跟新。

🌱 01.K小姐爱音乐

问题描述

K小姐是一位热爱音乐的女孩,她有一个由 n n n 个正整数组成的数组 a a a,每个数字代表一首歌曲的播放次数。现在她想从中选出 k k k 首歌曲组成一个新的歌单,她希望新歌单中播放次数最多的歌曲尽可能多。

我们定义一个数组的权值为数组中出现次数最多的数字,现在请你帮助K小姐选出 k k k 首歌曲,使得新歌单的权值最大。

输入格式

本题有多组测试数据。

第一行一个正整数 T ( 1 ≤ T ≤ 100 ) T(1 \leq T \leq 100) T(1T100),表示数据的组数。

接下来,对于每组测试数据,输入包含两行:

第一行两个正整数 n , k ( 1 ≤ k ≤ n ≤ 1 0 5 ) n,k(1 \leq k \leq n \leq 10^5) n,k(1kn105),表示数组 a a a 的长度和需要选择的歌曲数量。

第二行 n n n 个正整数 a i ( 1 ≤ a i ≤ 1 0 9 ) a_i(1 \leq a_i \leq 10^9) ai(1ai109),表示数组的元素值,即每首歌曲的播放次数。

输出格式

输出包含 T T T 行,对于每个测试数据:

每行一个正整数,表示选出 k k k 首歌曲组成新歌单的最大权值。

样例输入

1
6 3
2 2 2 1 1 1

样例输出

2

数据范围

  • 1 ≤ T ≤ 100 1 \leq T \leq 100 1T100
  • 1 ≤ k ≤ n ≤ 1 0 5 1 \leq k \leq n \leq 10^5 1kn105
  • 1 ≤ a i ≤ 1 0 9 1 \leq a_i \leq 10^9 1ai109

题解

本题可以使用贪心的思想来解决。可以先统计每个播放次数出现的频率,然后按照频率从大到小排序。接下来从频率最大的数字开始选择,如果当前数字的频率加上之前选择的数字的总和大于等于 k k k,那么就可以选择当前数字作为新歌单的权值。如果无法选择当前数字,就继续考虑下一个频率最大的数字,直到找到满足条件的数字为止。

具体实现时,可以使用哈希表来统计每个数字出现的频率,然后将频率和对应的数字存入一个数组中,再对该数组按照频率从小到大排序。接下来从后往前遍历排序后的数组,用一个变量 t t t 记录已经选择的数字的总和,如果当前数字的频率加上 t t t 以及剩余数字的最大贡献(即剩余数字个数乘以当前数字的频率)大于等于 k k k,就可以选择当前数字更新答案。

时间复杂度 O ( n log ⁡ n ) O(n \log n) O(nlogn),空间复杂度 O ( n ) O(n) O(n)。其中 n n n 为数组 a a a 的长度。

参考代码

  • Python
import sys
input = lambda: sys.stdin.readline().strip()
from collections import Counter

def solve():
    n, k = map(int, input().split())
    a = list(map(int, input().split()))
    freq = Counter(a)
    pairs = [(cnt, num) for num, cnt in freq.items()]
    pairs.sort()
    
    t = 0
    res = 0
    remain = len(pairs)
    for cnt, num in pairs:
        remain -= 1
        if cnt + t + remain * cnt >= k:
            res = max(res, num)
        t += cnt
    
    print(res)

T = int(input())
for _ in range(T):
    solve()
  • Java
import java.io.*;
import java.util.*;

public class Main {
    static BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
    static PrintWriter out = new PrintWriter(System.out);
    
    static int readInt() throws IOException {
        return Integer.parseInt(in.readLine());
    }
    
    static int[] readArray(int n) throws IOException {
        String[] s = in.readLine().split(" ");
        int[] a = new int[n];
        for (int i = 0; i < n; i++) {
            a[i] = Integer.parseInt(s[i]);
        }
        return a;
    }
    
    static void solve() throws IOException {
        String[] s = in.readLine().split(" ");
        int n = Integer.parseInt(s[0]);
        int k = Integer.parseInt(s[1]);
        int[] a = readArray(n);
        
        Map<Integer, Integer> freq = new HashMap<>();
        for (int x : a) {
            freq.put(x, freq.getOrDefault(x, 0) + 1);
        }
        
        List<int[]> pairs = new ArrayList<>();
        for (int num : freq.keySet()) {
            pairs.add(new int[]{freq.get(num), num});
        }
        Collections.sort(pairs, (p1, p2) -> p1[0] - p2[0]);
        
        int t = 0;
        int res = 0;
        int remain = pairs.size();
        for (int[] p : pairs) {
            int cnt = p[0], num = p[1];
            remain--;
            if (cnt + t + remain * cnt >= k) {
                res = Math.max(res, num);
            }
            t += cnt;
        }
        
        out.println(res);
    }
    
    public static void main(String[] args) throws IOException {
        int T = readInt();
        while (T-- > 0) {
            solve();
        }
        out.close();
    }
}
  • Cpp
#include <iostream>
#include <vector>
#include <algorithm>
#include <unordered_map>
using namespace std;

void solve() {
    int n, k;
    cin >> n >> k;
    vector<int> a(n);
    for (int i = 0; i < n; i++) {
        cin >> a[i];
    }
    
    unordered_map<int, int> freq;
    for (int x : a) {
        freq[x]++;
    }
    
    vector<pair<int, int>> pairs;
    for (auto p : freq) {
        pairs.emplace_back(p.second, p.first);
    }
    sort(pairs.begin(), pairs.end());
    
    int t = 0;
    int res = 0;
    int remain = pairs.size();
    for (auto [cnt, num] : pairs) {
        remain--;
        if (cnt + t + remain * cnt >= k) {
            res = max(res, num);
        }
        t += cnt;
    }
    
    cout << res << endl;
}

int main() {
    int T;
    cin >> T;
    while (T--) {
        solve();
    }
    return 0;
}

☘️02.魔法项链

问题描述

小红有一条神奇的项链,这条项链由 n n n 颗宝石组成,每颗宝石都有一个魔力值。我们用一个数组 a a a 来表示这条项链,其中 a i a_i ai 表示第 i i i 颗宝石的魔力值。

这个数组有一个特殊的性质:最后一项 a n a_n an 的值为 x x x,其余项的值满足以下条件:

a i = a i + 1   m o d   x ( 1 ≤ i < n ) a_i = a_{i+1} \bmod x \quad (1 \leq i < n) ai=ai+1modx(1i<n)

现在,小红想知道数组的第 k k k 项的值是多少,你能帮助她计算出来吗?

输入格式

第一行输入一个整数 T ( 1 ≤ T ≤ 1 0 5 ) T(1 \leq T \leq 10^5) T(1T105),表示询问的次数。

接下来 T T T 行,每行输入三个整数 n ( 1 ≤ n ≤ 1 0 9 ) n(1 \leq n \leq 10^9) n(1n109) x ( 0 ≤ x ≤ 1 0 9 ) x(0 \leq x \leq 10^9) x(0x109) k ( 1 ≤ k ≤ n + 1 ) k(1 \leq k \leq n+1) k(1kn+1),表示一次询问。

输出格式

对于每次询问,每行输出一个整数表示答案。

样例输入

2
1 1 1
5 1 4

样例输出

0
1

数据范围

  • 1 ≤ T ≤ 1 0 5 1 \leq T \leq 10^5 1T105
  • 1 ≤ n ≤ 1 0 9 1 \leq n \leq 10^9 1n109
  • 0 ≤ x ≤ 1 0 9 0 \leq x \leq 10^9 0x109
  • 1 ≤ k ≤ n + 1 1 \leq k \leq n+1 1kn+1

题解

根据题目描述,我们可以得到以下信息:

  1. 数组 a a a 的最后一项 a n a_n an 的值为 x x x
  2. 对于 1 ≤ i < n 1 \leq i < n 1i<n,有 a i = a i + 1   m o d   x a_i = a_{i+1} \bmod x ai=ai+1modx

我们可以分情况讨论:

  1. x > n x > n x>n 时,数组 a a a 的前 n n n 项都等于 x   m o d   n x \bmod n xmodn,最后一项等于 x x x

    • 如果 k = 1 k = 1 k=1,直接输出 x x x
    • 如果 2 ≤ k ≤ n 2 \leq k \leq n 2kn,输出 x   m o d   n x \bmod n xmodn
    • 如果 k = n + 1 k = n+1 k=n+1,输出 x x x
  2. x ≤ n x \leq n xn 时,数组 a a a 的前 x x x 项都等于 0 0 0,后面的项都等于 x x x

    • 如果 1 ≤ k ≤ x 1 \leq k \leq x 1kx,输出 0 0 0
    • 如果 x < k ≤ n + 1 x < k \leq n+1 x<kn+1,输出 x x x

根据以上分析,我们可以得到题解代码。

时间复杂度 O ( 1 ) O(1) O(1),空间复杂度 O ( 1 ) O(1) O(1)

参考代码

  • Python
import sys
input = lambda: sys.stdin.readline().strip()

def solve():
    n, x, k = map(int, input().split())
    if x > n:
        if k == 1:
            print(x)
        elif k <= n:
            print(x % n)
        else:
            print(x)
    else:
        if k <= x:
            print(0)
        else:
            print(x)

T = int(input())
for _ in range(T):
    solve()
  • Java
import java.io.*;
import java.util.*;

public class Main {
    static BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
    static PrintWriter out = new PrintWriter(System.out);

    static int readInt() throws IOException {
        return Integer.parseInt(in.readLine());
    }

    static void solve() throws IOException {
        String[] s = in.readLine().split(" ");
        long n = Long.parseLong(s[0]);
        long x = Long.parseLong(s[1]);
        long k = Long.parseLong(s[2]);
        if (x > n) {
            if (k == 1) {
                out.println(x);
            } else if (k <= n) {
                out.println(x % n);
            } else {
                out.println(x);
            }
        } else {
            if (k <= x) {
                out.println(0);
            } else {
                out.println(x);
            }
        }
    }

    public static void main(String[] args) throws IOException {
        int T = readInt();
        while (T-- > 0) {
            solve();
        }
        out.close();
    }
}
  • Cpp
#include <iostream>
using namespace std;

void solve() {
    long long n, x, k;
    cin >> n >> x >> k;
    if (x > n) {
        if (k == 1) {
            cout << x << endl;
        } else if (k <= n) {
            cout << x % n << endl;
        } else {
            cout << x << endl;
        }
    } else {
        if (k <= x) {
            cout << 0 << endl;
        } else {
            cout << x << endl;
        }
    }
}

int main() {
    int T;
    cin >> T;
    while (T--) {
        solve();
    }
    return 0;
}

🍀 03.魔法森林

问题描述

在一片神奇的森林中,有 n n n 个魔法节点。最初,这些节点之间没有任何连接。

小红是一位热爱探险的女孩,她想要在这片森林中建立一些魔法通道。每次,她会选择两个节点 u u u v v v,在它们之间建立一条无向边。

在每次建立连接后,小红都会问你一个问题:节点 u u u 和节点 v v v 所在的连通块是否形成了一棵基环树?

基环树的定义如下:

  1. 包含 n n n 个节点和 n n n 条边。
  2. 不包含重边和自环。
  3. 是一个无向连通图。

你能帮助小红回答这些问题吗?

输入格式

第一行输入两个正整数 n n n m m m,分别代表魔法节点的数量和小红建立连接的次数。

接下来的 m m m 行,每行输入两个正整数 u u u v v v,代表小红在节点 u u u 和节点 v v v 之间建立了一条无向边。

输出格式

输出 m m m 行,每行输出对应操作后,节点 u u u 和节点 v v v 所在的连通块是否形成了一棵基环树。如果是,则输出 Yes,否则输出 No

样例输入

5 5
1 2
1 3
2 3
4 5
4 5

样例输出

No
No
Yes
No
No

数据范围

  • 1 ≤ n , m ≤ 1 0 5 1 \leq n, m \leq 10^5 1n,m105
  • 1 ≤ u , v ≤ n 1 \leq u, v \leq n 1u,vn
  • u ≠ v u \neq v u=v

题解

可以使用并查集来维护节点之间的连通关系,同时记录每个连通块的节点数和边数。

对于每次建立连接的操作,判断节点 u u u 和节点 v v v 是否已经连通:

  • 如果已经连通,并且改连通块之前没有形成过基环树,说明在该连通块中添加这条边满足基环树的定义,输出 Yes
  • 如果不连通,则将 u u u v v v 所在的连通块合并。

时间复杂度: O ( m α ( n ) ) O(m \alpha(n)) O(mα(n)),其中 α \alpha α 是阿克曼函数的反函数,在实际应用中可以看作是常数。
空间复杂度: O ( n ) O(n) O(n)

参考代码

  • Python
from typing import List

p = []

def find(x: int) -> int:
    if x == p[x]:
        return x
    p[x] = find(p[x])
    return p[x]

def merge(x: int, y: int) -> None:
    if find(x) == find(y):
        return
    fax, fay = find(x), find(y)
    p[fax] = fay

def main():
    n, m = map(int, input().split())
    global p
    p = list(range(n + 1))
    used = set()
    edges = set()

    for _ in range(m):
        u, v = map(int, input().split())
        if (u, v) in edges or (v, u) in edges:
            print("No")
            continue

        if find(u) != find(v):
            print("No")
            merge(u, v)
        else:
            fa = find(u)
            if fa in used:
                print("No")
            else:
                print("Yes")
                merge(u, v)
                used.add(fa)

        edges.add((u, v))
        edges.add((v, u))

if __name__ == "__main__":
    main()

  • Java
import java.util.*;

public class Main {
    static int[] p;

    static int find(int x) {
        return x == p[x] ? x : (p[x] = find(p[x]));
    }

    static void merge(int x, int y) {
        if (find(x) == find(y)) return;
        int fax = find(x), fay = find(y);
        p[fax] = fay;
    }

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int m = sc.nextInt();
        p = new int[n + 1];
        for (int i = 0; i <= n; i++) {
            p[i] = i;
        }
        Set<Integer> used = new HashSet<>();
        Map<Integer, Integer> edges = new HashMap<>();
        for (int i = 0; i < m; i++) {
            int u = sc.nextInt();
            int v = sc.nextInt();
            int key1 = u * 100000 + v;
            int key2 = v * 100000 + u;
            if (edges.containsKey(key1) || edges.containsKey(key2)) {
                System.out.println("No");
                continue;
            }
            if (find(u) != find(v)) {
                System.out.println("No");
                merge(u, v);
            } else {
                int fa = find(u);
                if (used.contains(fa))
                    System.out.println("No");
                else {
                    System.out.println("Yes");
                    merge(u, v);
                    used.add(fa);
                }
            }
            edges.put(key1, edges.getOrDefault(key1, 0) + 1);
            edges.put(key2, edges.getOrDefault(key2, 0) + 1);
        }
    }
}

  • Cpp
#include <bits/stdc++.h>
using namespace std;

vector<int> p;

int find(int x) {
    return x == p[x] ? x : (p[x] = find(p[x]));
}

void merge(int x, int y) {
    if (find(x) == find(y)) return;
    int fax = find(x), fay = find(y);
    p[fax] = fay;
}

int main() {
    ios::sync_with_stdio(false);
    cin.tie(0);
    int n, m;
    cin >> n >> m;
    vector<int>(n + 1).swap(p);
    iota(p.begin(), p.end(), 0);
    set<int> used;
    set<pair<int, int>> edges;
    for (int i = 0; i < m; i++) {
        int u, v;
        cin >> u >> v;
        if (edges.count({u, v}) || edges.count({v, u})) {
            cout << "No\n";
            continue;
        }
        if (find(u) != find(v)) {
            cout << "No\n";
            merge(u, v);
        } else {
            int fa = find(u);
            if (used.count(fa))
                cout << "No\n";
            else {
                cout << "Yes\n";
                merge(u, v);
                used.insert(fa);
            }
        }
        edges.insert({u, v});
        edges.insert({v, u});
    }
    return 0;
}

写在最后

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

在这里插入图片描述

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

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

相关文章

【前端Vue】Vue3+Pinia小兔鲜电商项目第5篇:整体认识和路由配置,本资源由 收集整理【附代码文档】

Vue3ElementPlusPinia开发小兔鲜电商项目完整教程&#xff08;附代码资料&#xff09;主要内容讲述&#xff1a;认识Vue3&#xff0c;使用create-vue搭建Vue3项目1. Vue3组合式API体验,2. Vue3更多的优势,1. 认识create-vue,2. 使用create-vue创建项目,1. setup选项的写法和执行…

基于Springboot的箱包存储系统(有报告)。Javaee项目,springboot项目。

演示视频&#xff1a; 基于Springboot的箱包存储系统&#xff08;有报告&#xff09;。Javaee项目&#xff0c;springboot项目。 项目介绍&#xff1a; 采用M&#xff08;model&#xff09;V&#xff08;view&#xff09;C&#xff08;controller&#xff09;三层体系结构&…

linux的io的知识大全

C语言的io操作 写文件 #include<stdio.h> #include<string.h>#define FILE_NAME "log.txt" int main() {FILE * fp fopen(FILE_NAME, "w");if(fpNULL){printf("fopen error!\n");}const char* msg "hello zk\n";int c…

【复现】浙大恩特客户资源管理系统 SQL注入漏洞_71

目录 一.概述 二 .漏洞影响 三.漏洞复现 1. 漏洞一&#xff1a; 四.修复建议&#xff1a; 五. 搜索语法&#xff1a; 六.免责声明 一.概述 浙大恩特客户资源管理系统是一款针对企业客户资源管理的软件产品。该系统旨在帮助企业高效地管理和利用客户资源&#xff0c;提升…

Golang 基于共享变量的并发锁

一、互斥锁 先看一个并发情况&#xff0c;同时操作一个全局变量&#xff0c;如果没有锁会怎么样 假设有1000个goroutines并发进行银行余额的扣除&#xff0c;每次都扣除10元&#xff0c;起始的总余额是10000&#xff0c;理论上并发执行完应该是0对不对&#xff0c;但实际却不…

GeoServer:忘记密码重置

操作步骤 1. 找到data_dir/security/usergroup/default目录下的users.xml文件&#xff0c; 2.修改password为plain:geoserver&#xff0c; 这里无论原来的密码是什么&#xff0c;改为plain:geoserver之后&#xff0c;就可以通过admin&#xff1a;geoserver默认账户密码登录了。…

RAG应用开发实战(01)-RAG应用框架和解析器

1 开源解析和拆分文档 第三方的工具去对文件解析拆分&#xff0c;去将我们的文件内容给提取出来&#xff0c;并将我们的文档内容去拆分成一个小的chunk。常见的PDF word mark down, JSON、HTML。都可以有很好的一些模块去把这些文件去进行一个东西去提取。 优势 支持丰富的文…

电商新宠:淘宝拍立淘API接口助力精准搜索商品信息

淘宝拍立淘API接口&#xff0c;作为电商领域的新宠&#xff0c;正以其独特的图像识别技术为精准搜索商品信息提供强大的助力。这项基于深度学习和计算机视觉技术的先进服务&#xff0c;使得用户能够通过上传图片来快速搜索淘宝平台上的相关商品&#xff0c;极大地提升了购物体验…

鸿蒙让我赚到了第一笔桶金!年薪33.6W!

抢人&#xff01;抢人&#xff01;抢人&#xff01; 所谓抢滩鸿蒙&#xff0c;人才先行。鸿蒙系统火力全开后&#xff0c;抢人已成鸿蒙市场的主题词&#xff01; 智联招聘数据显示&#xff0c;春节后首周&#xff0c;鸿蒙相关职位数同比增长163%&#xff0c;是去年同期的2.6倍…

分布式锁-redission可重入锁原理

5.3 分布式锁-redission可重入锁原理 在Lock锁中&#xff0c;他是借助于底层的一个voaltile的一个state变量来记录重入的状态的&#xff0c;比如当前没有人持有这把锁&#xff0c;那么state0&#xff0c;假如有人持有这把锁&#xff0c;那么state1&#xff0c;如果持有这把锁的…

RX8901CE可在最高+105℃工作温度下工作,助力光伏逆变器稳定运行

光伏逆变器是一种由半导体器件组成的电力调整装置&#xff0c;主要用于把直流电力转换成交流电力。一般由升压回路和逆变桥式回路构成&#xff0c;而且很多时候会配有储能单元进行峰谷电压平整。作为光伏电站中关键的部件&#xff0c;光伏逆变器的可靠运行影响着整个光伏电站的…

ubuntu如何截图? ubuntu中截屏的三种方法

文章目录 1.ubuntu主要用途2.ubuntu如何截图&#xff1f;2.1 方法一&#xff1a;键盘按键快捷键截屏 2.2 方法二&#xff1a;系统自带软件2.3 方法三&#xff1a;第三方软件 Reference 1.ubuntu主要用途 1、桌面操作系统&#xff1a;Ubuntu可用作个人电脑或笔记本电脑的操作系…

树形查找试题(二叉树、红黑树)

一、单项选择题 01.对于二叉排序树&#xff0c;下面的说法中&#xff0c;()是正确的。 A.二叉排序树是动态树表&#xff0c;查找失败时插入新结点&#xff0c;会引起树的重新分裂和组合 B.对二叉排序树进行层序遍历可得到有序序列 C.用逐点插入法构造二叉排序树&#xff0c;若先…

批归一化(BN)在神经网络中的作用与原理

文章目录 1. 批归一化&#xff08;BN&#xff09;在神经网络中的作用与原理1.1 作用与优势1.2 原理与推导 2. 将BN应用于神经网络的方法2.1 训练时的BN 2. 将BN应用于神经网络的方法2.1 训练时的BN2.2 测试时的BN代码示例&#xff08;Python&#xff09;&#xff1a; 3. BN的优…

QT学习day5

#include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget),socket(new QTcpSocket(this)) {ui->setupUi(this);//初始化界面ui->msgEdit->setEnabled(false);//不可用ui->sendBtn-&g…

软考121-上午题-【软件工程】-敏捷方法

一、敏捷方法 敏捷开发的总体目标是通过“尽可能早地、持续地对有价值的软件的交付”使客户满意。通过在软件开发过程中加入灵活性&#xff0c;敏捷方法使用户能够在开发周期的后期增加或改变需求。 敏捷过程的典型方法有很多&#xff0c;每一种方法基于一套原则&#xff0c;这…

初始C++之缺省参数 函数重载 引用

初始C之缺省参数 函数重载 引用& 文章目录 初始C之缺省参数 函数重载 引用&一、缺省参数1.1 缺省参数的定义1.2 缺省参数的分类1.3 注意事项 二、 函数重载2.1 函数重载的定义2.2 参数个数不同2.3 参数类型不同2.4 类型顺序不同2.5 为什么C语言不支持函数重载 三、引用…

百度Create AI开发者大会剧透丨用好三大AI神器 ,人人都是开发者

程序员会消失&#xff0c;真的吗&#xff1f;大模型的下一站是什么&#xff1f;开发者的机会在哪里&#xff1f;什么才是最好用的AI应用开发工具&#xff1f;在4月16日举办的2024百度Create AI开发者大会上&#xff0c;百度创始人、董事长兼首席执行官李彦宏将就这些备受瞩目的…

蓝桥杯第十三届电子类单片机组决赛程序设计

前言 一、决赛题目 1.比赛题目 2.题目解读 二、功能实现 1.关于定时器资源 1&#xff09;超声波和NE555需要的定时器资源 2&#xff09;定时器2 2.单位切换 3.数据长度不足时&#xff0c;高位熄灭 4.AD/DA多通道的处理 5.PWM输出 6.长按功能的实现 三、完整代码演…

心法利器[112] | 考古RAG-20年RAG概念提出的论文

心法利器 本栏目主要和大家一起讨论近期自己学习的心得和体会。具体介绍&#xff1a;仓颉专项&#xff1a;飞机大炮我都会&#xff0c;利器心法我还有。 2023年新的文章合集已经发布&#xff0c;获取方式看这里&#xff1a;又添十万字-CS的陋室2023年文章合集来袭&#xff0c;更…