【秋招突围】2024届秋招笔试-小红书笔试题-第三套-三语言题解(Java/Cpp/Python)

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

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

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

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

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

文章目录

    • 📖 写在前面
      • 初夏来临 秋招还会远吗?
    • 🎀 01.小红书的话题热度统计
      • 问题描述
      • 输入格式
      • 输出格式
      • 样例输入
      • 样例输出
      • 数据范围
      • 题解
      • 参考代码
    • 🍓 02.LYA 的游戏之旅
      • 问题描述
      • 输入格式
      • 输出格式
      • 样例输入
      • 样例输出
      • 数据范围
      • 题解
      • 参考代码
    • 🍏 03.LYA 的魔法花园
      • 问题描述
      • 输入格式
      • 输出格式
      • 样例输入
      • 样例输出
      • 数据范围
      • 题解
      • 参考代码
    • 🎀 写在最后
    • 🛖 这里介绍一下咱们的笔试打卡小屋
      • 🥰 打卡奖励
      • 🕰 每日学习安排
      • 📖 打卡小屋涉及题型
        • 基础算法
        • 基础数据结构
        • 搜索
        • 动态规划 & 贪心 & 数论

📖 写在前面

初夏来临 秋招还会远吗?

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

文末有清隆学长的笔试陪伴打卡小屋活动介绍

✨丰富的打卡奖励等你来领哦,大厂笔试题汇总笔试面试经验贴算法笔试模版

💽 有兴趣的小伙伴们也可以了解一下,不要错过啦~

🎀 01.小红书的话题热度统计

问题描述

小红书是一个很受年轻人欢迎的社区平台。在小红书上,用户可以发布和浏览各种话题的笔记。平台会根据用户对话题的讨论热度,统计出热门话题。

现在给定 n n n 个用户发布的话题,每个话题由一个长度不超过 50 50 50 的仅包含大小写字母和数字的字符串表示。当一个话题出现次数大于等于 3 3 3 次时,就称为热门话题。

请你按照话题成为热门话题的时间顺序,输出所有的热门话题。注意,这里以一个话题第 3 3 3 次出现的时间作为该话题成为热门话题的时间。

输入格式

第一行包含一个正整数 n n n,表示话题的总数。

接下来 n n n 行,每行一个字符串,表示一个话题。

输出格式

第一行输出一个正整数 m m m,表示热门话题的数量。

接下来 m m m 行,每行一个字符串,表示一个热门话题。按照话题成为热门话题的时间顺序输出。

样例输入

5
apple
apple
blue
apple
green

样例输出

1
apple

数据范围

1 ≤ n ≤ 1 0 4 1 \le n \le 10^4 1n104

题解

我们可以使用哈希表来解决这个问题。具体步骤如下:

  1. 使用一个哈希表 c n t cnt cnt 统计每个话题出现的次数。
  2. 使用另一个哈希表 i n R e s inRes inRes 记录话题是否已经被加入到结果中。
  3. 遍历所有话题,对于每个话题:
    • 将其在 c n t cnt cnt 中的计数值加 1 1 1
    • 如果该话题出现次数大于等于 3 3 3,且之前没有被加入过结果,则将其加入结果数组。
  4. 遍历结束后,结果数组中按顺序保存了所有的热门话题。

时间复杂度为 O ( n ) O(n) O(n),空间复杂度为 O ( n ) O(n) O(n)。其中 n n n 为话题的总数。

参考代码

  • Python
from collections import defaultdictn = int(input())
cnt = defaultdict(int)
in_res = defaultdict(bool)
res = []for _ in range(n):topic = input()cnt[topic] += 1if cnt[topic] >= 3 and not in_res[topic]:res.append(topic)in_res[topic] = Trueprint(len(res))
for topic in res:print(topic)
  • Java
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int n = sc.nextInt();Map<String, Integer> cnt = new HashMap<>();Map<String, Boolean> inRes = new HashMap<>();List<String> res = new ArrayList<>();for (int i = 0; i < n; i++) {String topic = sc.next();cnt.put(topic, cnt.getOrDefault(topic, 0) + 1);if (cnt.get(topic) >= 3 && !inRes.getOrDefault(topic, false)) {res.add(topic);inRes.put(topic, true);}}System.out.println(res.size());for (String topic : res) {System.out.println(topic);}}
}
  • Cpp
#include <iostream>
#include <string>
#include <unordered_map>
#include <vector>
using namespace std;int main() {int n;cin >> n;unordered_map<string, int> cnt;unordered_map<string, bool> in_res;vector<string> res;while (n--) {string topic;cin >> topic;cnt[topic]++;if (cnt[topic] >= 3 && !in_res[topic]) {res.push_back(topic);in_res[topic] = true;}}cout << res.size() << endl;for (const auto& topic : res) {cout << topic << endl;}return 0;
}

🍓 02.LYA 的游戏之旅

问题描述

LYA 是一位热爱游戏的少女。她有 n n n 个游戏,每个游戏都有对应的游玩时间 t i t_i ti、体力消耗 h i h_i hi 和快乐值 a i a_i ai

现在 LYA 想要制定一个游戏计划,使得在总游玩时间不超过 T T T 且总体力消耗不超过 H H H 的前提下,获得尽可能多的快乐值。

请你帮助 LYA 计算,她最多可以获得多少快乐值。

输入格式

第一行输入三个正整数 n , T , H n,T,H n,T,H,分别代表游戏数量、游玩时间限制和体力限制。

接下来的 n n n 行,每行输入三个正整数 t i , h i , a i t_i,h_i,a_i ti,hi,ai,分别代表第 i i i 个游戏的游玩时间、体力消耗和快乐值。

输出格式

输出一个整数,代表 LYA 最多可以获得的快乐值。

样例输入

4 10 15
1 7 5
5 4 6
3 8 1
10 5 7

样例输出

11

数据范围

  • 1 ≤ n ≤ 50 1 \leq n \leq 50 1n50
  • 1 ≤ T , H ≤ 500 1 \leq T,H \leq 500 1T,H500
  • 1 ≤ t i , h i ≤ 30 1 \leq t_i,h_i \leq 30 1ti,hi30
  • 1 ≤ a i ≤ 1 0 9 1 \leq a_i \leq 10^9 1ai109

题解

本题可以使用二维动态规划来解决。定义状态 f [ i ] [ j ] f[i][j] f[i][j] 表示在游玩时间不超过 i i i,体力消耗不超过 j j j 的情况下,可以获得的最大快乐值。

状态转移方程为:

f [ i ] [ j ] = max ⁡ ( f [ i ] [ j ] , f [ i − t k ] [ j − h k ] + a k ) f[i][j] = \max(f[i][j], f[i-t_k][j-h_k]+a_k) f[i][j]=max(f[i][j],f[itk][jhk]+ak)

其中 k k k 表示当前正在考虑的游戏编号, t k , h k , a k t_k,h_k,a_k tk,hk,ak 分别表示第 k k k 个游戏的游玩时间、体力消耗和快乐值。

最终答案即为 f [ T ] [ H ] f[T][H] f[T][H]

时间复杂度为 O ( n T H ) O(nTH) O(nTH),空间复杂度为 O ( T H ) O(TH) O(TH)

参考代码

  • Python
def max_happiness(n, T, H, games):f = [[0] * (H + 1) for _ in range(T + 1)]for t, h, a in games:for i in range(T, t - 1, -1):for j in range(H, h - 1, -1):f[i][j] = max(f[i][j], f[i - t][j - h] + a)return f[T][H]n, T, H = map(int, input().split())
games = [tuple(map(int, input().split())) for _ in range(n)]
print(max_happiness(n, T, H, games))
  • 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 T = sc.nextInt();int H = sc.nextInt();int[][] games = new int[n][3];for (int i = 0; i < n; ++i) {games[i][0] = sc.nextInt();games[i][1] = sc.nextInt();games[i][2] = sc.nextInt();}System.out.println(maxHappiness(n, T, H, games));}private static long maxHappiness(int n, int T, int H, int[][] games) {long[][] f = new long[T + 1][H + 1];for (int[] game : games) {int t = game[0], h = game[1], a = game[2];for (int i = T; i >= t; --i) {for (int j = H; j >= h; --j) {f[i][j] = Math.max(f[i][j], f[i - t][j - h] + a);}}}return f[T][H];}
}
  • Cpp
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;using LL = long long;LL max_happiness(int n, int T, int H, vector<vector<int>>& games) {vector<vector<LL>> f(T + 1, vector<LL>(H + 1));for (auto& game : games) {int t = game[0], h = game[1], a = game[2];for (int i = T; i >= t; --i) {for (int j = H; j >= h; --j) {f[i][j] = max(f[i][j], f[i - t][j - h] + a);}}}return f[T][H];
}int main() {int n, T, H;cin >> n >> T >> H;vector<vector<int>> games(n, vector<int>(3));for (int i = 0; i < n; ++i) {cin >> games[i][0] >> games[i][1] >> games[i][2];}cout << max_happiness(n, T, H, games) << endl;return 0;
}

🍏 03.LYA 的魔法花园

问题描述

LYA 是一位热爱园艺的魔法师。她的花园里有一棵特殊的魔法树,树上的每个节点都有一个魔力值。最初,所有节点都是白色的。

LYA 发现,每次可以选择两个相邻的白色节点,如果它们的魔力值之和是一个质数,就可以将其中一个节点染成紫色。LYA 想知道,最多可以将多少个节点染成紫色。

现在给定这棵魔法树的节点数 n n n,每个节点的魔力值 a i a_i ai,以及 n − 1 n-1 n1 条边的信息,请你帮助 LYA 计算最多可以染成紫色的节点数量。

输入格式

第一行输入一个正整数 n n n,表示魔法树的节点数。

第二行输入 n n n 个正整数 a 1 , a 2 , … , a n a_1, a_2, \ldots, a_n a1,a2,,an,表示每个节点的魔力值。

接下来 n − 1 n-1 n1 行,每行输入两个正整数 u , v u, v u,v,表示节点 u u u 和节点 v v v 之间有一条边相连。

输出格式

输出一个整数,表示最多可以染成紫色的节点数量。

样例输入

4
1 2 3 4
1 2
2 3
3 4

样例输出

3

数据范围

  • 1 ≤ n ≤ 1 0 5 1 \leq n \leq 10^5 1n105
  • 1 ≤ a i ≤ 1 0 5 1 \leq a_i \leq 10^5 1ai105
  • 1 ≤ u , v ≤ n 1 \leq u, v \leq n 1u,vn

题解

本题可以使用树形 DP 求解。对于每个节点,我们维护两个状态:

  • f [ i ] [ 0 ] f[i][0] f[i][0]:以节点 i i i 为根的子树中,不染节点 i i i 的情况下,最多可以染成紫色的节点数量。
  • f [ i ] [ 1 ] f[i][1] f[i][1]:以节点 i i i 为根的子树中,染节点 i i i 的情况下,最多可以染成紫色的节点数量。

对于每个节点 i i i,我们枚举其所有子节点 j j j,并计算:

  • 如果不染节点 i i i,则 f [ i ] [ 0 ] = ∑ j max ⁡ ( f [ j ] [ 0 ] , f [ j ] [ 1 ] + c h e c k ( a [ i ] + a [ j ] ) ) f[i][0] = \sum_j \max(f[j][0], f[j][1] + check(a[i] + a[j])) f[i][0]=jmax(f[j][0],f[j][1]+check(a[i]+a[j]))
  • 如果染节点 i i i,则 f [ i ] [ 1 ] = ∑ j ( c h e c k ( a [ i ] + a [ j ] ) + f [ j ] [ 0 ] ) f[i][1] = \sum_j (check(a[i] + a[j]) + f[j][0]) f[i][1]=j(check(a[i]+a[j])+f[j][0])

其中 c h e c k ( x ) check(x) check(x) 表示判断 x x x 是否为质数,如果是质数则返回 1 1 1,否则返回 0 0 0

最后,答案即为 max ⁡ ( f [ r o o t ] [ 0 ] , f [ r o o t ] [ 1 ] ) \max(f[root][0], f[root][1]) max(f[root][0],f[root][1])

总时间复杂度为 O ( n M A X ) O(n \sqrt{MAX}) O(nMAX ),其中 M A X MAX MAX 表示魔力值的最大值。

参考代码

  • Python
from typing import Listclass Solution:def maxPurpleNodes(self, n: int, a: List[int], edges: List[List[int]]) -> int:def is_prime(x: int) -> bool:if x < 2:return Falsei = 2while i * i <= x:if x % i == 0:return Falsei += 1return Truedef dfs(curr: int, parent: int) -> int:for child in adj[curr]:if child == parent:continuedfs(child, curr)f[curr][0] += max(f[child][0], f[child][1] + is_prime(a[curr] + a[child]))f[curr][1] += is_prime(a[curr] + a[child]) + f[child][0]return max(f[curr][0], f[curr][1])adj = [[] for _ in range(n + 1)]for u, v in edges:adj[u].append(v)adj[v].append(u)f = [[0, 0] for _ in range(n + 1)]return dfs(1, 0)
  • Java
import java.util.*;class Solution {private List<List<Integer>> adj;private int[] a;private int[][] f;public int maxPurpleNodes(int n, int[] a, int[][] edges) {this.a = a;adj = new ArrayList<>();for (int i = 0; i <= n; i++) {adj.add(new ArrayList<>());}for (int[] edge : edges) {int u = edge[0], v = edge[1];adj.get(u).add(v);adj.get(v).add(u);}f = new int[n + 1][2];return dfs(1, 0);}private int dfs(int curr, int parent) {for (int child : adj.get(curr)) {if (child == parent) {continue;}dfs(child, curr);f[curr][0] += Math.max(f[child][0], f[child][1] + isPrime(a[curr - 1] + a[child - 1]));f[curr][1] += isPrime(a[curr - 1] + a[child - 1]) + f[child][0];}return Math.max(f[curr][0], f[curr][1]);}private int isPrime(int x) {if (x < 2) {return 0;}for (int i = 2; i * i <= x; i++) {if (x % i == 0) {return 0;}}return 1;}
}
  • Cpp
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;vector<int> adj[100005];
int n, a[100005];
int f[100005][2];int isPrime(int x) {if (x < 2) return 0;for (int i = 2; i * i <= x; ++i) {if (x % i == 0) return 0;}return 1;
}int dfs(int curr, int parent) {for (int child : adj[curr]) {if (parent == child) continue;dfs(child, curr);f[curr][0] += max(f[child][0], f[child][1] + isPrime(a[curr] + a[child]));f[curr][1] += isPrime(a[curr] + a[child]) + f[child][0];}return max(f[curr][0], f[curr][1]);     
}int main() {cin >> n;for (int i = 1; i <= n; ++i) {cin >> a[i];}for (int i = 1; i < n; ++i) {int u, v;cin >> u >> v;adj[u].push_back(v);adj[v].push_back(u);}cout << dfs(1, 0) << endl;return 0;
}

🎀 写在最后

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

在这里插入图片描述

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

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

🥰 打卡奖励

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

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

🕰 每日学习安排

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

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

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

📖 打卡小屋涉及题型

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

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

在这里插入图片描述

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

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

相关文章

Redis作者长文总结LLMs, 能够取代99%的程序员

引言 这篇文章并不是对大型语言模型&#xff08;LLMs&#xff09;的全面回顾。很明显&#xff0c;2023年对人工智能而言是特别的一年&#xff0c;但再次强调这一点似乎毫无意义。相反&#xff0c;这篇文章旨在作为一个程序员个人的见证。自从ChatGPT问世&#xff0c;以及后来使…

如何用多线程执行 unittest 测试用例实现方案

前言 使用python做过自动化测试的小伙伴&#xff0c;想必都知道unittest和pytest这两个单元测试框架&#xff0c;其中unittest是python的官方库&#xff0c;功能相对于pytest来要逊色不少&#xff0c;但是uniitest使用上手简单&#xff0c;也受到的很多的小伙伴喜爱。一直以来都…

自然语言处理学习路线(1)——NLP的基本流程

NLP基本流程 【NLP基本流程】 0. 获取语料 1. 语料预处理 2. 特征工程&选择 3. 模型训练 4. 模型输出&上线 【NLP基本流程图】 Reference 1. 自然语言处理(NLP)的一般处理流程&#xff01;-腾讯云开发者社区-腾讯云 2. https://zhuanlan.zhihu.com/p/55…

leetcode 1355 活动参与者(postgresql)

需求 表: Friends ---------------------- | Column Name | Type | ---------------------- | id | int | | name | varchar | | activity | varchar | ---------------------- id 是朋友的 id 和该表的主键 name 是朋友的名字 activity 是朋友参加的活动的名字 表: Activit…

【每日刷题】Day67

【每日刷题】Day67 &#x1f955;个人主页&#xff1a;开敲&#x1f349; &#x1f525;所属专栏&#xff1a;每日刷题&#x1f34d; &#x1f33c;文章目录&#x1f33c; 1. 23. 合并 K 个升序链表 - 力扣&#xff08;LeetCode&#xff09; 2. 1189. “气球” 的最大数量 - …

动力学笔记01——共振频率和共振带的数学定义

文章目录 0、背景描述1、正文2. 位移、速度、加速度的共振频率并不相同 0、背景描述 过去一年&#xff0c;我基本都在考虑塔架&#xff08;尤其是混塔&#xff09;频率仿真/模态分析的问题。关于这个问题&#xff0c;不仅有地基刚度&#xff0c;还有塔筒本身以及其他影响频率的…

MAC认证

简介 MAC认证是一种基于接口和MAC地址对用户的网络访问权限进行控制的认证方法&#xff0c;它不需要用户安装任何客户端软件。设备在启动了MAC认证的接口上首次检测到用户的MAC地址以后&#xff0c;即启动对该用户的认证操作。认证过程中&#xff0c;不需要用户手动输入用户名…

Linux ubuntu安装pl2303USB转串口驱动

文章目录 1.绿联PL2303串口驱动下载2.驱动安装3.验证方法 1.绿联PL2303串口驱动下载 下载地址&#xff1a;https://www.lulian.cn/download/16-cn.html 也可以直接通过CSDN下载&#xff1a;https://download.csdn.net/download/Axugo/89447539 2.驱动安装 下载后解压找到Lin…

R语言dplyr统计指定列里面种类个数和比例

输入数据框&#xff1a;dfuorf&#xff0c;Type列有uORF和overlpaORF两种类型 dfuorf1 <- dfuorf %>%group_by(Type) %>% summarise(Countn()) %>% mutate(percentCount/sum(Count)) %>% mutate(percent1 (paste0(round((Count/sum(Count)), 2)*100,"%&…

编码在网络安全中的应用和原理

前言:现在的网站架构复杂&#xff0c;大多都有多个应用互相配合&#xff0c;不同应用之间往往需要数据交互&#xff0c;应用之间的编码不统一&#xff0c;编码自身的特性等都很有可能会被利用来绕过或配合一些策略&#xff0c;造成一些重大的漏洞。 什么是编码&#xff0c;为什…

货代小白快来收藏‼️普货与非普货的区别

普货是指不属于以下类别的普通货物 危险品 冷冻/冷藏品 违禁品 仿牌货 敏感货 危险品 危险品具体分为九类&#xff1a; 爆炸品 压缩气体 易燃液体 易燃固体、易燃物品和遇湿易燃物品 氧化剂和有机氧化物 有毒和感染性物品 放射性 腐蚀性 杂类 冷冻/冷藏品 主要是指以食品为主的…

海康视觉算法平台VisionMaster 4.3.0 C# 二次开发01 加载方案并获取结果

前言 第一次使用海康视觉算法平台VisionMaster 4.3.0&#xff0c;项目中要使用这个平台进行视觉处理并获取结果。 运行效果 开发环境 C#&#xff0c; WPF&#xff0c; vs2022, 海康视觉算法平台VisionMaster 4.3.0 基本概念 上图这些.sol为后缀的是vm的方案文件。 打开方案文…

海南云亿商务咨询有限公司助力商家腾飞新高度

在数字化浪潮席卷全球的今天&#xff0c;电商行业正迎来前所未有的发展机遇。海南云亿商务咨询有限公司&#xff0c;作为抖音电商服务的佼佼者&#xff0c;凭借其专业的团队和丰富的经验&#xff0c;正成为越来越多企业实现电商转型与升级的得力助手。 海南云亿商务咨询有限公…

AI写代码,CS还有前途吗?加州大学伯克利分校:CDSS申请人数激增48%!

目录 01 CS入学人数暴涨 02 人类Coder可堪大任 03 AI还没有学会创新 04 编程与农耕不同 AI写了这么多代码&#xff0c;你还应该学习计算机科学吗&#xff1f; 新的数据显示&#xff0c;学生们仍然热衷于选修计算机科学&#xff1a;加州大学伯克利分校&#xff08;UCB&#…

Python基础用法 之 转义字符

将两个字符进⾏转义 表示⼀个特殊的字符 \n ---> 换⾏&#xff0c;回⻋ \t ---> 制表符, tab键 注意&#xff1a; print( end\n)&#xff1a; print() 函数中默认有⼀个 end\n, 所以,每个 print 结束之后, 都会输出⼀ 个换行。 未完待续。

一个示例学习C语言到汇编层面

给出以下代码 #include<stdio.h> int main() {int x 0, y 0, z 0;while (1) {x 0;y 1;do {printf("%d\n", x);z x y;x y;y z;} while (x < 255);}return 0; }我们把这个程序编写成32位程序&#xff0c;然后我们放入IDA中进行分析 .text:0080187…

WebGIS如何加载微件

本篇文章以加载切换底图微件做示范 首先&#xff0c;添加require "esri/widgets/ScaleBar",//比例尺"esri/widgets/Legend",//图例"esri/widgets/basemapGallery" 然后添加加载切换底图的组件代码 const basemapGallery new BasemapGallery(…

SaaS产品运营|一文讲清楚为什么ToB产品更适合采用PLG模式?

在数字化时代&#xff0c;ToB&#xff08;面向企业&#xff09;产品市场的竞争愈发激烈。为了在市场中脱颖而出&#xff0c;许多企业开始转向PLG&#xff08;产品驱动增长&#xff09;模式。这种模式以产品为核心&#xff0c;通过不断优化产品体验来驱动用户增长和业务发展。本…

一个开源的快速准确地将 PDF 转换为 markdown工具

大家好&#xff0c;今天给大家分享的是一个开源的快速准确地将 PDF 转换为 markdown工具。 Marker是一款功能强大的PDF转换工具&#xff0c;它能够将PDF文件快速、准确地转换为Markdown格式。这款工具特别适合处理书籍和科学论文&#xff0c;支持所有语言的转换&#xff0c;并…

语义分割和目标检测的关系

目录 1.语义分割的目标 2.目标检测的目标 3.两种任务的异同之处 从大方向的任务特点上来说 &#xff08;1&#xff09;物体的位置 &#xff08;2&#xff09;物体的分类 从数据格式来说 (1&#xff09;语义分割的数据格式 (2&#xff09;目标检测的数据格式 1.语义分…