如何练习笔试中的ACM模式? 这个网站上线了!

卡码网是针对ACM模式算法题的练习平台,提供25道精选题目,涵盖多种数据结构和算法,帮助用户熟悉输入输出处理。网站提供简洁的刷题环境,支持多种编程语言,并配有C++题解,同时鼓励用户在GitHub上贡献其他语言版本的解题代码。

7月18日,卡码网 在朋友圈里正式内测,同时也迎来了第一批用户。

经过半个月的不断调试,解决各种问题,现在终于可以正式发布了。

截止发文,卡码网已经迎来了第一千位卡友。

【图片】
一千用户

卡码网地址:https://kamacoder.com

为什么卡码网

录友们在求职的时候会发现,很多公司的笔试题和面试题都是ACM模式, 而大家习惯去力扣刷题,力扣是核心代码模式。

当大家在做ACM模式的算法题的时候,需要自己处理数据的输入输出,如果没有接触过的话,还是挺难的

知识星球里很多录友的日常打卡中,都表示被 ACM模式折磨过:

所以我正式推出:卡码网https://kamacoder.com),专门帮助大家练习ACM模式

那么之前大家去哪里练习ACM模式呢?

去牛客做笔试真题,结果发现 ACM模式没练出来,题目倒是巨难,一点思路都没有,代码更没有写,ACM模式无从练起。

去洛谷,POJ上练习? 结果发现 题目超多,不知道从哪里开始刷,也没有一个循序渐进的刷题顺序。

而卡码网上有我精选+制作的25道题目!我还把25题的后台测试数据制作了一遍,保证大家练习的效果。

为什么题目不多,只有25道?

因为大家练习ACM模式不需要那么多题目,有一个循序渐进的练习过程就好了。

这25道题目包含了数组、链表、哈希表、字符串、二叉树、动态规划以及图的的题目,常见的输入输出方式都覆盖了。

这是最精华的25道题目!。

卡码网长什么样

来看看这极简的界面,没有烂七八糟的功能,只有刷题!

在「状态」这里可以看到 大家提交的代码和判题记录,目前卡码网(https://kamacoder.com)几乎无时无刻都有卡友在提交代码。
看看大家周六晚上都在做什么,刷哪些题目。

提交代码的界面是这样的,目前支持所有主流刷题语言

题解

基本大家来卡码网(https://kamacoder.com)练习ACM模式,都是对输入输出不够了解的,所以想看现成的题解,看看究竟是怎么处理的。

所以我用C++把卡码网上25道题目的题解都写了,并发布到Github上:

https://github.com/youngyangyang04/kamacoder-solutions

欢迎去Github上star,欢迎fork,也欢迎来Github仓库贡献其他语言版本,成为contributor

如果不懂如何和开源项目提交代码,可以看这里:

https://www.programmercarl.com/qita/join.html

目前已经有两位录友贡献C和Java版本了。

期待在Github(https://github.com/youngyangyang04/kamacoder-solutions) 的contributors上也出现你的头像。

目前题解只有C++代码吗?

当然不是,大多数题目已经有了 Java、python、C版本。 其他语言版本,就给录友们成为contributor的机会了

最后

卡码网地址:https://kamacoder.com

快去体验吧,笔试之前最好 把卡码网25道题目都刷完。

期待录友们成为最早一批把卡码网刷爆的coder!

<think> 根据提供的引用内容,我们可以了解到关于公司笔试模式的信息: 1. 引用[1]和[2]指出,大厂笔试往往采用ACM模式,需要熟悉ACM格式的输入输出。这与平时在LeetCode上使用的核心代模式不同。 2. 引用[4]明确区分了核心代模式ACM模式:核心代模式(如LeetCode)只需实现函数逻辑,而ACM模式需要自己处理输入输出。 结论:公司笔试(尤其是大厂)通常采用ACM模式[^1][^2][^4]。 因此,回答用户问题:是的,公司笔试(特别是大厂)通常采用ACM模式,需要自行处理输入输出数据格式。 以下是ACM模式与核心代模式的对比表格: | 特性 | ACM模式 | 核心代模式 | |--------------|----------------------|-----------------------| | 输入输出 | 需自行处理 | 由系统提供,无需处理 | | 典型平台 | 牛客、赛等 | LeetCode | | 适用场景 | 编程竞赛、大厂笔试 | 日常算法练习 | | 代结构 | 包含完整程序逻辑 | 只需实现特定函数 | §§相关问题§§ 1. ACM模式下的标准输入输出在Python中如何实现? 2. 如何快速适应从核心代模式(如LeetCode)到ACM模式的转变? 3. 大厂笔试中除ACM编程题外还有哪些常见题型? </think> 根据引用资料的分析,**大中型互联公司的技术笔试通常采用ACM模式**,尤其是头部企业(如阿里、腾讯、字节等)的校招和竞赛选拔[^1][^2][^4]。以下是具体分析: ### 一、ACM模式与核心代模式的区别 | **特征** | **ACM模式** | **核心代模式** | |-------------------|--------------------------------------|--------------------------------------| | **输入输出处理** | 需自行解析标准输入(`sys.stdin`),格式化输出结果 | 系统自动处理输入输出,只需实现核心函数 | | **代结构** | 需编写完整程序(含`if __name__ == '__main__'`) | 只需实现特定类/函数(如LeetCode的Solution) | | **典型场景** | 编程竞赛、大厂笔试[^1][^2] | LeetCode日常练习[^3][^4] | | **调试难度** | 需本地模拟输入用例 | 在线测试系统自动提供用例 | ### 二、为什么公司笔试倾向ACM模式? 1. **贴近工程实践** ACM模式要求处理原始输入数据,模拟真实开发中读取文件/络数据流的过程[^2]。 2. **选拔竞赛人才** 大厂出题者多为ACM竞赛背景,通过该模式筛选算法能力强的人才[^1][^4]。 3. **全面考察能力** 需自行处理边界条件、异常输入和输出格式,比核心代模式更综合[^3]。 ### 三、ACM模式笔试的典型流程 ```python import sys def process_data(data): # 实现核心逻辑(例如退格字符串处理) ... if __name__ == '__main__': # 1. 读取输入(多行或单行) input_lines = sys.stdin.readlines() # 2. 解析数据(例如拆分为s和t) s = input_lines[0].strip() t = input_lines[1].strip() # 3. 调用处理函数 result = process_data(s, t) # 4. 按格式输出(笔试系统自动校验) print("true" if result else "false") ``` > **关键点**:输出必须严格符合题目格式(如大小写、空格),否则系统判错[^2][^3]。 ### 四、如何针对性准备 1. **输入输出训练** - 多行输入:`sys.stdin.readlines()` - 空格分隔数字:`list(map(int, line.split()))` 2. **本地调试技巧** 使用文件重定向模拟输入: ```bash python solution.py < input.txt ``` 3. **练习平台推荐** - **牛客**:国内企业笔试主流平台[^2] - **Codeforces**:ACM赛题题库 ### 五、核心代模式 vs ACM模式应用场景 | **场景** | 推荐模式 | |------------------------|-------------------| | LeetCode日常刷题 | 核心代模式[^4] | | 大厂笔试/编程竞赛 | ACM模式[^1][^2] | | 技术面试手撕代 | 两者皆有可能 | > **结论**:应聘技术岗位时,必须掌握ACM模式编程能力才能通过笔试关[^1][^2][^4]。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

代码随想录

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值