华为OD试题八(数字序列比大小、矩阵元素边界值)

1. 数字序列比大小

在这里插入图片描述
在这里插入图片描述
示例代码:

# 核心 贪心 算法
# 测试数据
s = 3
s1 = [4,8,10]
s2 = [3,6,4]

def fun(s1,s2):
	# 统计结果
	count = 0
	# 分别排序
	s1.sort()
	s2.sort()
	cur = 0
	while cur < len(s2):
		tmp = None
		# 贪心 每次都找 比s2 大的 元素
		for i in s2:
			if i > s2[cur]:
				count += 1
				tmp = i
				break
		if tmp in s1:
			s1.remove(tmp)
		cur += 1
	
	print(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 = 0
	while col < len(s_list[0]):
		tmp = []
		row = 0
		while row < len(s_list):
			tmp.append(s_list[row][col])
			row += 1
		m_list.append(max(tmp))
		col += 1
	return min(m_list)
	
r = fun(s)
print(r)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
华为od数字序列大小是指在华为OD(One Day)数学竞赛,要根据给定数字序列进行比大小的题目。比大小通常是通过比较数字序列元素大小来确定结果。 比如,给定一个数字序列:1, 3, 2, 5, 4。我们需要按照从小到大的顺序对这个序列进行排序。首,我们比较第一个数字1和第二个数字3的大小,由于1小于3,所以1保持不变。然后,我们比较第二个数字3和第三个数字2的大小,由于3大于2,所以我们交换这两个数字的位置。接着,我们比较第二个数字3和第四个数字5的大小,由于3小于5,所以3保持不变。最后,我们比较第四个数字5和第五个数字4的大小,由于5大于4,所以我们交换这两个数字的位置。经过这一轮比较和交换,数字序列变为:1, 2, 3, 4, 5,按照从小到大的顺序排列好。 在华为OD数学竞赛,根据给定数字序列大小一个常见的题型,其目的是考察选手对数学思维和排序算法的理解与应用能力。选手需要根据题目要求,采用不同的排序算法(如冒泡排序、插入排序、快速排序等)对数字序列进行排序,并给出排序后的结果。通过这样的练习,可以提高选手的逻辑思维和解决问题的能力。 总结来说,华为OD数字序列大小是一道用于考察数学思维和排序算法的题目,在华为OD数学竞赛经常出现。选手需要根据题目要求对给定数字序列进行排序,以达到题目所要求的结果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值