HJ93 数组分组

Posted Aneverforget

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HJ93 数组分组相关的知识,希望对你有一定的参考价值。

修改1:

 修改2:

 修改3:(正确答案)

  修改4:优化修改3。在修改3代码实现,尽管找到了一组可行的true,但仍然会执行后面的递归。

可进行优化找到一组true后不再进行后面的递归尝试。优化实现方式是,找到一组true后,之后其他递归全部执行返回。

 #no=input()
 a=list(map(int,input().split()))
 team1,team2,team3=[],[],[]
 for i in a:
     if i%5==0:
         team1.append(i)
     elif i%3==0:
         team2.append(i)
     else:
         team3.append(i)
 def recursion(team1,team2,team3):
     if team3==[]:#基本结束条件        
         if sum(team1)==sum(team2):
             return True
         else:
             return False
     if recursion(team1+team3[:1],team2,team3[1:]):#第一个递归方向
         return True
     if recursion(team1,team2+team3[:1],team3[1:]):#第二个递归方向
         return True
 if recursion(team1,team2,team3):
     tem="true"
 else:
     tem="false"
 
 print(tem)

 

华为机试题 HJ83二维数组操作

HJ83 二维数组操作

一、题目描述

有一个mn大小的数据表,你会依次进行以下5种操作:
1.输入m 和n ,初始化m
n 大小的表格。
2.输入x1 y1 x2 y2 交换坐标在(x1,y1)和(x2,y2)
3.输入x ,在第x 行上方添加一行。
4.输入y ,在第y 列左边添加一列。
5.输入x 、y ,查找坐标为(x,y) 的单元格的值。



二、参考代码1

/**
@author:By yangbocsu
@time

以上是关于HJ93 数组分组的主要内容,如果未能解决你的问题,请参考以下文章

华为机试HJ93:数组分组

华为机试题 HJ80 整型数组合并

华为机试题 HJ80 整型数组合并

华为机试题 HJ83二维数组操作

华为机试题 HJ83二维数组操作

华为机试HJ80:整型数组合并