蚂蚁笔试 蚂蚁笔试题 0316

笔试时间:2024年03月16日

历史笔试传送门:2023秋招笔试合集

第一题

题目:支付宝消费打折

众所周知,在一些消费支付的场合中,往往有“支付宝九五折”的优惠。这天小苯来到了超市购买物品,一共有n种物品,每种物品只能购买一个,但有的物品支持优惠活动,有的并不支持。恰好本超市的结账是有“支付宝九五折”优惠的,小苯的支付宝余额还剩k元,他想知道他仅使用支付宝进行支付的话,最多能买几件物品?

输入描述

输入包含三行。

第一行两个正整数n,k(1<=n<=10^5),(1<=k<=10^9)。

第二行包含n个正整数ai(1<=ai<=10^4)表示每个物品的价格。

第三行一个长度为n的只含有0和1的字符串,表示每个物品是否支持优惠。(如果1代表第i个物品支持优惠,否则不支持。)

输出描述

输出一行一个整数表示答案。

样例输入

5 9

3 4 2 3 1

11101

样例输出

4

说明

选择买第 1,3,4,5 个物品。

参考题解

贪心。将所有的商品按照是否可打折的数值进行排序,然后从小到大取即可。因为每个物品没有权值,所以不需要用背包解决。

C++:[此代码未进行大量数据的测试,仅供参考]

#include <iostream>
#include <vector>
#include <algorithm>

int main() {
    int n, k;
    std::cin >> n >> k;
    std::vector<int> prices(n);
    for (int i = 0; i < n; ++i) {
        std::cin >> prices[i];
    }

    std::string is_off;
    std::cin >> is_off;

    std::vector<double> off_prices;
    for (int i = 0; i < n; ++i) {
        off_prices.push_back(prices[i] * (is_off[i] == '0' ? 1.0 : 0.95));
    }
    
    sort(off_prices.begin(), off_prices.end());
    
    int ans = 0;
    double cost = 0;
    for (double p : off_prices) {
        if (cost + p > k) break;
        cost += p;
        ans++;
    }

    std::cout << ans << std::endl;

    return 0;
}

Java:[此代码未进行大量数据的测试,仅供参考]

import java.util.*;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();
        int k = scanner.nextInt();
        scanner.nextLine(); // Consume newline

        int[] prices = new int[n];
        for (int i = 0; i < n; i++) {
            prices[i] = scanner.nextInt();
        }

        scanner.nextLine(); // Consume newline
        String isOff = scanner.next();

        ArrayList<Double> offPrices = new ArrayList<>();
        for (int i = 0; i < n; i++) {
            offPrices.add(prices[i] * (isOff.charAt(i) == '0' ? 1.0 : 0.95));
        }

        Collections.sort(offPrices);

        int ans = 0;
        double cost = 0;
        for (double p : offPrices) {
            if (cost + p > k) break;
            cost += p;
            ans++;
        }

        System.out.println(ans);
    }
}

Python:[此代码未进行大量数据的测试,仅供参考]

n,k = map(int, input().split())
prices = [int(c) for c in input().split()]
is_off = [c for c in input()]

off_prices = [prices[i] * (1 if is_off[i]=='0' else 0.95) for i in range(n)]
off_prices.sort()
ans = 0
cost = 0
for p in off_prices:
    if cost + p > k:break
    cost += p
    ans += 1

print(ans)

第二题

题目:小红切字符串

小红定义一个字符串的权值是:字符串辅音数量和元音数量的差的绝对值。例如,"arcaea"的权值是 2,因为有 4 个元音,2 个辅音,权值为|4-2|=2。现在小红拿到了一个字符串,她想把这个字符串切成两个非空字符串,需要满足两个字符串的权值相等。小红想知道,有多少种不同的切割方式?我们定义,元音有"aeiou"这五种,其余字母均为辅音。

输入描述

一个仅包含小写字母的字符串,长度不超过 200000。

输出描述

小红的切割方案数。

样例输入

arcaea

样例输出

2

说明

方案 1:"a"和"rcaea",权值均为 1。

方案 2:"arcae"和"a",权值均为 1。

参考题解

枚举所有的分割的可能,使用前缀和计算出左右两个字符串的权值即可。

C++:[此

剩余60%内容,订阅专栏后可继续查看/也可单篇购买

2024 BAT笔试合集 文章被收录于专栏

持续收录字节、腾讯、阿里、美团、美团、拼多多、华为等笔试题解,包含python、C++、Java多种语言版本,持续更新中。

全部评论
我的天,第一题是今天蚂蚁笔试的原题,我只过了50%,不知道为啥
点赞 回复 分享
发布于 2024-04-13 11:47 陕西

相关推荐

暴杀流调参工作者:春招又试了一些岗位,现在投递很有意思,不仅要精心准备简历,投递官网还得把自己写的东西一条一条复制上去,阿里更是各个bu都有自己的官网,重复操作无数次,投完简历卡完学历了,又该写性格测评、能力测评,写完了又要写专业笔试,最近还有些公司搞了AI辅助编程笔试,有些还有AI面试,对着机器人话也听不明白录屏硬说,终于到了人工面试又要一二三四面,小组成员面主管面部门主管面hr面,次次都没出错机会,稍有不慎就是挂。 卡学历卡项目卡论文卡实习什么都卡,没有不卡的😂
点赞 评论 收藏
分享
评论
6
25
分享

创作者周榜

更多
正在热议
更多
# 春招至今,你的战绩如何? #
11652次浏览 100人参与
# 你的实习产出是真实的还是包装的? #
2039次浏览 43人参与
# MiniMax求职进展汇总 #
24271次浏览 310人参与
# 军工所铁饭碗 vs 互联网高薪资,你会选谁 #
7718次浏览 43人参与
# 简历第一个项目做什么 #
31813次浏览 344人参与
# 重来一次,我还会选择这个专业吗 #
433645次浏览 3926人参与
# 米连集团26产品管培生项目 #
6166次浏览 216人参与
# 当下环境,你会继续卷互联网,还是看其他行业机会 #
187289次浏览 1122人参与
# 牛客AI文生图 #
21463次浏览 238人参与
# 不考虑薪资和职业,你最想做什么工作呢? #
152540次浏览 888人参与
# 研究所笔面经互助 #
118986次浏览 577人参与
# 简历中的项目经历要怎么写? #
310519次浏览 4227人参与
# AI时代,哪些岗位最容易被淘汰 #
64028次浏览 837人参与
# 面试紧张时你会有什么表现? #
30528次浏览 188人参与
# 你今年的平均薪资是多少? #
213232次浏览 1039人参与
# 你怎么看待AI面试 #
180298次浏览 1266人参与
# 高学历就一定能找到好工作吗? #
64348次浏览 620人参与
# 你最满意的offer薪资是哪家公司? #
76633次浏览 374人参与
# 我的求职精神状态 #
448229次浏览 3129人参与
# 正在春招的你,也参与了去年秋招吗? #
363673次浏览 2638人参与
# 腾讯音乐求职进展汇总 #
160718次浏览 1112人参与
# 校招笔试 #
471566次浏览 2964人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务