按输入序列长度为M,按其数据二进制中 ‘1’ 的个数多少,返回前N多的元素
来源:互联网 发布:mac系统如何倒退 编辑:程序博客网 时间:2024/05/19 11:47
# usr/bin/env python# _*_ coding:utf-8 _*_'''按输入序列长度为M,按其数据二进制中 ‘1’ 的个数多少,返回前N多的元素( 若元素含有的 ‘1’ 个数相同则返回数值较大的那个 )如:525 3 7 1 2返回:7 5'''def getResult(M, N, array):new_array = []bin_array = [bin(i) for i in array] # 二进制转换# # 获取数组中对应位置二进制中‘1’的个数 方法一# for i in range(M):# new_array.append(bin_array[i].count('1'))# 获取数组中对应位置二进制中‘1’的个数 方法二for i in range(M):temp = array[i]num = 0while temp:temp &= (temp-1)num += 1new_array.append(num)# 获取二进制中‘1’个数前N多的元素Res = []for j in range(N):# 获取当前最多res = array[new_array.index(max(new_array))]# 删除最多new_array.remove(max(new_array))# 删除最多array.remove(res)# 保存结果Res.append(res)return Resif __name__ == '__main__':M = input()N = input()array = [int(i) for i in raw_input().split()]print getResult(M, N, array)
阅读全文
0 0
- 按输入序列长度为M,按其数据二进制中 ‘1’ 的个数多少,返回前N多的元素
- 求长度为n的序列中最大的m个数
- 28.整数的二进制表示中1的个数 题目:输入一个整数,求该整数的二进制表达中有多少个1。 例如输入10,由于其二进制表示为1010,有两个1,因此输出2。
- 网易游戏笔试题:输入一个数n,返回一个数组,数组中每个元素对应[0,n]每个数的二进制中1的个数
- 从长度为n的数组中(元素互不相同)任意选择m个数的所有组合
- 返回参数二进制中1的个数、输出二进制序列
- 输入整数m,n,判断需要改变二进制中多少位才能使其相等
- 返回N的二进制表示中1的个数
- 【转载】从长度为n的数组中选择m个数的所有结果
- 从一个长度为n的数组中随机选择m个数
- 【HDU5542 2015 CCPC 南阳国赛C】【DP】The Battle of Chibi n个数中恰好长度为m的单升子序列数
- 从长度为N的数组中找出所有M个元素组合的优化算法
- 输入1个数输出其二进制表示中1的个数
- 输入1个数输出其二进制表示中1的个数
- 从1到n的数中找若干个数使其和为m
- 使用do-while编程实现进制转换。输入一个十进制整数n,输出其二进制形式,并统计二进制数中1的个数。
- 返回参数二进制为1的个数
- 从M个数中选择前N大的数
- Android gc垃圾回收流程
- 完美解决Sublime无法输入中文问题
- jks与keystore的区别
- Java 多图拼图并实现下载
- Servlet理论案例详解,面试必备
- 按输入序列长度为M,按其数据二进制中 ‘1’ 的个数多少,返回前N多的元素
- OpenCV统计米粒数目-计算联通区域的个数及联通区域内像素的个数
- 网站营销不等于网站建设
- java.text.ParseException: Unparseable date:
- 终于有人把股市集合竞价的秘密说清楚了
- 643. Maximum Average Subarray I
- Android EditText限制文本输入的长度并给予提示
- cronatab周期性任务
- 我的vue插件使用整理