Python程序:查找包含(基数,数字)对的数组中匹配数的数量
假设我们给出多个不同格式为(x,y)的对。这里的x表示数字的基数,y表示数字本身。在列表中有意义相同的对。我们必须检查给定数字对中的匹配数。给定的对可能是冗余的,也可能包含无效的基数-数字组合。
因此,如果输入为num_inputs = 2,input_arr = [(10,15),(8,17)],则输出将是1。
变量num_inputs指定输入数,数组input_arr列出数字对。在这里,如果我们看两个对;十进制的15与八进制的17是相同的。因此,有一个匹配并返回输出值1。
要解决这个问题,我们将遵循以下步骤:
- arr_len:= input_arr的大小
- temp_dict:=包含整数值的新映射
- 对于i在范围0到num_inputs的范围内,执行
- num_base:=输入input_arr中第1对的第1个数字的字符串表示形式
- num_val:=输入input_arr中第i个对的第二个数字的字符串表示形式
- temp_dict [整数表示(num_val,整数表示(num_base))]:= temp_dict [整数表示(num_val,整数表示(num_base))] + 1
- cnt:= 0
- 对于temp_dict所有值的列表中的每个值,执行
- cnt:= cnt + value * ((value-1) / 2)的地板值
- 返回cnt
更多Python相关文章,请阅读:Python 教程
示例
让我们看以下实现以更好地理解