华为OD机试 本篇题目:寻找连续区间
华为 OD 机试【4 大宝典】再次上新题!
① Python 解华为机试题 :https://dream.blog.csdn.net/article/details/129221789
② C++ 解华为机试题:https://dream.blog.csdn.net/article/details/129472919
③ Java 解华为机试题:https://dream.blog.csdn.net/article/details/129652513
④ C 解华为机试题:https://dream.blog.csdn.net/article/details/129658432
本篇题目:寻找连续区间
题目
给定一个含有N
个正整数的数组,求出有多少个连续区间(包括单个正整数),它们的和大于等于x
。
输入
第一行两个整数N
x
(0 < N <= 100000
,0 <= x <= 10000000
) 第二行有N
个正整数(每个正整数小于等于100
)。
输出
输出一个整数,表示所求的个数。
题解地址 📤
⭐️ 华为 OD 机考 JAVA https://dream.blog.csdn.net/article/details/129726815
⭐️ 华为 OD 机考 Python https://dream.blog.csdn.net/article/details/129107978
⭐️ 华为 OD 机考 C++ https://dream.blog.csdn.net/article/details/129250268
⭐️ 华为 OD 机考真 C 语言 https://dream.blog.csdn.net/article/details/129411757
⭐️ 华为 OD 机考 JS https://dream.blog.csdn.net/article/details/129448040
⭐️ 华为 OD 机考 Golang https://dream.blog.csdn.net/article/details/130756157?spm=1001.2014.3001.5502
华为 OD 机试
华为 OD 机试是一种面向开发人员的在线笔试,旨在测试开发人员的编程能力、算法基础和基础知识掌握情况。
一、题目解析
华为 OD 机试的编程题则考察开发人员的编程能力、算法基础和解决问题的能力。
二、考点分析
数据结构:链表、栈、队列、二叉树等。
算法基础:排序、查找、分治、动态规划、贪心等。
编程语言特性:语法、标准库、常用操作等。
系统设计:数据库设计、系统架构、网络通信等。
三、解题思路
编程题:首先读懂题目,明确题目要求和输入输出格式。然后分析问题,选择合适的算法和数据结构解决问题。在编写代码的过程中,要注意代码的简洁性、可读性和健壮性。
四、代码示例
选择题代码示例:给定一个整数数组,找出数组中第二大的元素。
def find_second_largest(nums):
largest = -1
second_largest = -1
for num in nums: if num > largest:
second_largest = largest
largest = num elif num > second_largest and num < largest:
second_largest = num return second_largest
编程题代码示例:给定一个字符串,找出其中的最长回文子串。
def longest_palindrome(s): if len(s) < 2: return s
max_len = 1
start = 0
for i in range(len(s)): if i - max_len >= 1 and s[i - max_len - 1:i + 1] == s[i - max_len - 1:i + 1][::-1]:
start = i - max_len - 1
max_len += 2
continue
if s[i - max_len:i + 1] == s[i - max_len:i + 1][::-1]:
start = i - max_len
max_len += 1
return s[start:start + max_len]
五、总结
华为 OD 机试是一种针对开发人员的在线笔试,主要考察开发人员的编程能力、算法基础和基础知识掌握情况。在准备机试时,需要加强算法和数据结构的训练,同时还要熟悉常用的编程语言和开发工具。在解题时,需要仔细读题,理清思路,选择合适的方法解决问题。最后,要注意代码的简洁性、可读性和健壮性。