本文主要是介绍华为OD试题八(数字序列比大小、矩阵元素边界值),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1. 数字序列比大小
示例代码:
# 核心 贪心 算法
# 测试数据
s = 3
s1 = [4,8,10]
s2 = [3,6,4]def fun(s1,s2):# 统计结果count = 0# 分别排序s1.sort()s2.sort()cur = 0while cur < len(s2):tmp = None# 贪心 每次都找 比s2 大的 元素for i in s2:if i > s2[cur]:count += 1tmp = ibreakif tmp in s1:s1.remove(tmp)cur += 1print(count)
fun(s1,s2)
2. 矩阵元素的边界值
题目描述:
给定一个N*M矩阵,请先找出M个该矩阵中每列元素的最大值,然后输出这M个值
中的最小值
补充说明:
N和M的取值范围均为:[0, 100]
示例代码
# 先列遍历 在行遍历
# 测试数据
s = '[[1,2],[3,4]]'
def fun(s):# 内建方法的运用s_list = eval(s)m_list = []col = 0while col < len(s_list[0]):tmp = []row = 0while row < len(s_list):tmp.append(s_list[row][col])row += 1m_list.append(max(tmp))col += 1return min(m_list)r = fun(s)
print(r)
这篇关于华为OD试题八(数字序列比大小、矩阵元素边界值)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!