0329小红书笔试

test1:有n张牌,你有两发子弹,需要分别同时命中第一张牌和最后一张张牌,尝试求出概率,结果四舍五入保留10位小数;
实例
输入:2
输出:1.0000000000
test2:你有n个小红书账号,每个账号粉丝为a_n,你需要创建一个粉丝为k的新账号,你可以通过老账号发推文来宣传新账号,宣传的方式有两种。第一种是浅度宣传,浅度宣传可以为新账号增加a_n/2(向下取整)粉丝。第二种是重度宣传,重度宣传可以为新账号增加a_n粉丝。其中重度宣传你最多使用一次。求需要最少账号个数
实例
输入:5 81 2 3 4 10
输出:2(用第三个账号重度宣传和第五个账号浅度宣传)
test3:有n个数,求每个数第一次全都是偶数的期望
实例
输入:21,2
输出:1/2 * 4 + 1/8 * 6 + 1/32 * 8 +... =(我忘了咋算了)好像是6
public static void test1(){
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();
        double x = n;
        double res = 2 / (x * (x - 1));
        DecimalFormat decimalFormat = new DecimalFormat("#.##########");
        String format = decimalFormat.format(res);
        System.out.println(format);
    }
public static void  test2(){
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();
        int k = scanner.nextInt();
        int[] nums = new int[n];
        for (int i = 0; i < n; i++) {
            nums[i] = scanner.nextInt();
        }
        int[][] dp = new int[k + 1][2];
        for (int i = 0; i <= k ; i++) {
            dp[i][0] = Integer.MAX_VALUE;
            dp[i][1] = Integer.MAX_VALUE;
        }
        dp[0][0] = 0;
        dp[0][1] = 0;
        for (int i = 0; i < n; i++) {
            int act = nums[i] / 2;
            for (int j = k; j >= act ; j--) {
                if (dp[j - act][0] != Integer.MAX_VALUE){
                    dp[j][0] = Math.min(dp[j][0], dp[j - act][0] + 1);
                    dp[j][1] = Math.min(dp[j][1], dp[j - act][1] + 1);
                }
                if (j - nums[i] >= 0 && dp[j - nums[i]][0] != Integer.MAX_VALUE){
                    dp[j][1] = Math.min(dp[j][1], dp[j - nums[i]][0] + 1);
                }

            }
        }
        System.out.println(Math.min(dp[k][0], dp[k][1]));

    }
不知道对不对,是在考试后做的,题二是受@noodles:)老哥的提示。希望和大家一起讨论一下。
第三题不太会,有点思路但不多

#小红书笔试题#
全部评论
题二是3.24笔试的原题
点赞 回复 分享
发布于 2024-03-29 23:16 江苏
佬,能帮我看看第一题什么问题嘛,55% ``` public class Main { public static BigDecimal calculate(int n){ if(n < 2){ return BigDecimal.ZERO; } BigDecimal num = new BigDecimal(2); BigDecimal devided = BigDecimal.valueOf(n).multiply(BigDecimal.valueOf(n - 1)); return num.divide(devided, 15, RoundingMode.HALF_UP); } public static void main(String[] args) { Scanner in = new Scanner(System.in); int count = in.nextInt(); BigDecimal property = Main.calculate(count); System.out.println(property.setScale(10, RoundingMode.HALF_DOWN)); } } ```
点赞 回复 分享
发布于 2024-03-30 08:29 重庆
第三题是春招原题。。ak了,春招a了一道
点赞 回复 分享
发布于 2024-03-30 11:14 上海
第二题还是没看懂
点赞 回复 分享
发布于 2024-04-10 13:37 北京

相关推荐

学不完不睡觉11:一眼点评,不过,看运气吧
点赞 评论 收藏
分享
双飞二本嵌入式求拷打我是在&nbsp;BOSS&nbsp;上投递的简历,好多都没人回复,这是开场白和简历求大神帮忙看看。您好!我是2025届应届生,最快可在一周内上岗,能够实习六个月以上,并接受加班。以下是我的核心优势和相关经验:1.&nbsp;嵌入式开发能力:&nbsp;&nbsp;&nbsp;熟练掌握STM32系列单片机及其外设(如GPIO、定时器、ADC、DAC、I2C、SPI、UART等),能够独立完成硬件驱动开发和调试。&nbsp;&nbsp;熟悉FreeRTOS实时操作系统,具备多任务调度和资源管理经验。&nbsp;&nbsp;熟悉LVGL图形库开发,能够实现嵌入式设备的图形界面设计。2.&nbsp;硬件设计能力:&nbsp;&nbsp;&nbsp;具备PCB设计经验,曾为2023年工创赛物流搬运赛道设计小车主板,带领团队获得国家级银奖。&nbsp;&nbsp;&nbsp;熟悉硬件原理图分析,能够快速理解并调试硬件电路。3.&nbsp;机器人开发与竞赛经验:&nbsp;&nbsp;&nbsp;在全国大学生智能车竞赛、ROS机器人竞赛中多次获得国家级奖项,具备丰富的机器人开发经验。&nbsp;&nbsp;&nbsp;熟悉Linux环境,对ROS和ROS&nbsp;2有一定了解,能够进行机器人系统的开发与调试。4.&nbsp;编程能力:&nbsp;&nbsp;&nbsp;熟悉C/C++,熟悉Python,能够高效完成嵌入式开发和算法实现。&nbsp;&nbsp;&nbsp;具备良好的代码规范和文档编写能力。5.&nbsp;团队协作与领导能力:&nbsp;&nbsp;&nbsp;在多个项目中担任核心开发或团队负责人,具备良好的沟通能力和团队协作精神。&nbsp;&nbsp;&nbsp;在工创赛中带领团队完成项目规划、任务分配和技术攻关,展现了较强的领导力。我对嵌入式开发、机器人技术和智能硬件充满热情,期待加入贵公司,与团队共同成长,为公司创造价值!如果有合适的岗位,欢迎随时联系我,期待进一步沟通!
沉淀一会:嵌入式就是狗屎
点赞 评论 收藏
分享
评论
18
40
分享

创作者周榜

更多
牛客网
牛客企业服务