[豆包MarCode AI 刷题] 算法题解 Java 青训入营考核 五题打卡第三天

server/2025/1/12 20:48:13/

目录

11 中 观光景点组合得分问题

55 易 小E的射击训练 

47 易 完美偶数计数

48 易 替换函数

70 易 打点计数器的区间合并


欢迎你报名豆包MarsCode 青训营-寒假专场!非常开心你加入这个充满活力和创新的大家庭。在这里,你将遇到一群和你一样对技术充满热情的小伙伴,一起学习、成长、分享~我们准备了丰富的课程内容,还有各种实战项目等你来挑战,相信你一定会收获满满

青训营是字节跳动技术团队发起的技术系列培训 & 人才选拔项目;面向高校在校生,旨在培养优秀且具有职业竞争力的开发工程师。
本期青训营由豆包MarsCode 团队联合掘金社区主办,课程包含前端、后端和大数据方向,在这个飞速发展的 AI 时代,我们将和豆包MarsCode 一起深入探索,在青训营的技术氛围中,学习技术,高效写码~

11 中 观光景点组合得分问题

import java.util.Arrays;public class Main {public static int solution(int[] values) {int max=0;for(int i=0;i<values.length;i++){for(int j=i+1;j<values.length;j++){max=Math.max(max, values[i]+values[j]+i-j);}}return max; // Placeholder return}public static void main(String[] args) {System.out.println(solution(new int[]{8, 3, 5, 5, 6}) == 11 ? 1 : 0);System.out.println(solution(new int[]{10, 4, 8, 7}) == 16 ? 1 : 0);System.out.println(solution(new int[]{1, 2, 3, 4, 5}) == 8 ? 1 : 0);}
}

55 易 小E的射击训练 

public class Main {public static int solution(int x, int y) {// 计算射击点到靶心的距离的平方double distanceSquared = x * x + y * y;// 如果距离的平方大于100(即大于10的半径),得0分if (distanceSquared > 100) {return 0;}// 遍历从大到小的得分情况,判断射击点在哪个圆内for (int i = 1; i <= 10; i++) {// 如果距离的平方小于等于i*i,说明在第i个环内if (distanceSquared <= i * i) {return 11 - i;}}// 如果没有匹配的情况(不太可能到达这里),返回0分return 0;}public static void main(String[] args) {// System.out.println(solution(1, 0) == 10);// System.out.println(solution(1, 1) == 9);// System.out.println(solution(0, 5) == 6);// System.out.println(solution(3, 4) == 6);// System.out.println(solution(1, 0) );// System.out.println(solution(1, 1) );// System.out.println(solution(0, 5) );// System.out.println(solution(3, 4) );}
}

47 易 完美偶数计数

public class Main {public static int solution(int n, int l, int r, int[] a) {int cnt=0;for(int i=0;i<a.length;i++){if(a[i]%2==0&&a[i]>=l&&a[i]<=r){cnt++;}}return cnt;}public static void main(String[] args) {System.out.println(solution(5, 3, 8, new int[]{1, 2, 6, 8, 7}) == 2);System.out.println(solution(4, 10, 20, new int[]{12, 15, 18, 9}) == 2);System.out.println(solution(3, 1, 10, new int[]{2, 4, 6}) == 3);}
}

48 易 替换函数

public class Main {public static String solution(String s) {StringBuilder sb = new StringBuilder ("");for(int i=0;i<s.length();i++){if(s.charAt(i)=='a'){sb.append("%100");}else{sb.append(s.charAt(i));}}return sb.toString(); // Placeholder}public static void main(String[] args) {System.out.println(solution("abcdwa").equals("%100bcdw%100"));System.out.println(solution("banana").equals("b%100n%100n%100"));System.out.println(solution("apple").equals("%100pple"));}
}

70 易 打点计数器的区间合并

import java.util.Arrays;public class Main {public static int solution(int[][] inputArray) {// 对范围按起始值进行排序Arrays.sort(inputArray, (a, b) -> Integer.compare(a[0], b[0]));int totalPoints = 0;int[] currentRange = inputArray[0];  // 初始化当前范围为第一个范围// 遍历剩下的范围for (int i = 1; i < inputArray.length; i++) {// 获取当前的范围和下一个范围int[] nextRange = inputArray[i];// 检查是否有重叠if (nextRange[0] <= currentRange[1]) {// 有重叠,合并范围currentRange[1] = Math.max(currentRange[1], nextRange[1]);} else {// 没有重叠,将当前范围的长度加到总点数totalPoints += currentRange[1] - currentRange[0] + 1;// 更新当前范围为下一个范围currentRange = nextRange;}}// 最后一个范围的点数也要加上totalPoints += currentRange[1] - currentRange[0] + 1;return totalPoints;}public static void main(String[] args) {//  You can add more test cases hereint[][] testArray1 = {{1, 4}, {7, 10}, {3, 5}};int[][] testArray2 = {{1, 2}, {6, 10}, {11, 15}};System.out.println(solution(testArray1) == 9);System.out.println(solution(testArray2) == 12);}
}

http://www.ppmy.cn/server/157844.html

相关文章

基于springboot+vue的高校创新创业课程体系的设计与实现

开发语言&#xff1a;Java框架&#xff1a;springbootJDK版本&#xff1a;JDK1.8服务器&#xff1a;tomcat7数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09;数据库工具&#xff1a;Navicat11开发软件&#xff1a;eclipse/myeclipse/ideaMaven包&#xff1a;…

如何理解机器学习中的线性模型 ?

在机器学习中&#xff0c;线性模型是一类重要且基础的模型&#xff0c;它假设目标变量&#xff08;输出&#xff09;是输入变量&#xff08;特征&#xff09;的线性组合。线性模型的核心思想是通过优化模型的参数&#xff0c;使模型能够捕捉输入与输出之间的线性关系。以下是线…

C++ STL map和set的使用

序列式容器和关联式容器 想必大家已经接触过一些容器如&#xff1a;list&#xff0c;vector&#xff0c;deque&#xff0c;array&#xff0c;forward_list&#xff0c;string等&#xff0c;这些容器统称为系列容器。因为逻辑结构为线性的&#xff0c;两个位置的存储的值一般是…

天天 AI-250110:今日热点-字节豆包Web端反超百度文心一言,DeepSeek也发力了|量子位智库月报

2AGI.NET&#xff1a;天天AI-20250109 人工智能&#xff08;AI&#xff09;和硬件技术继续以惊人的速度发展&#xff0c;不断刷新我们对技术边界的认知。从英伟达的RTX 50系列显卡到清华团队的数学推理突破&#xff0c;再到AI算力的多个利好&#xff0c;这些技术的发展正在推动…

怎样提高服务器中的数据传输速度?

服务器中的数据传输速度会影响着用户的体验感&#xff0c;当企业中的数据传输速度出现卡顿或者是过慢时&#xff0c;用户不能及时浏览到所需的内容&#xff0c;给用户造成不好的体验感&#xff0c;那么企业该怎样才能提高服务器中的数据传输速度呢&#xff1f; 服务器之间如何传…

Agile Scrum 敏捷开发方法

Agile Scrum 是一种敏捷开发方法&#xff0c;广泛用于软件开发以及其他项目管理领域。它强调迭代式的工作流程、团队协作、灵活应对变化和持续改进&#xff0c;旨在通过快速交付和反馈来最大化项目价值。Scrum 是 Agile&#xff08;敏捷&#xff09;方法中的一种具体实践框架&a…

Pytorch 三小时极限入门教程

一、引言 在当今的人工智能领域&#xff0c;深度学习占据了举足轻重的地位。而 Pytorch 作为一款广受欢迎的深度学习框架&#xff0c;以其简洁、灵活的特性&#xff0c;吸引了大量开发者投身其中。无论是科研人员探索前沿的神经网络架构&#xff0c;还是工程师将深度学习技术落…

分布式Id方案选择

分布式 ID 方案选择 在当今分布式系统日益盛行的背景下&#xff0c;分布式 ID 生成方案的选择成为了众多开发者关注的焦点。一个优秀的分布式 ID 方案&#xff0c;不仅能够确保生成的 ID 全局唯一&#xff0c;避免数据冲突&#xff0c;还能在高并发、大规模的分布式环境中保持…