代码编织梦想

《编程思维与实践》1003.按数据中1的位数排序

题目

在这里插入图片描述
在这里插入图片描述

思路

分两个步骤解决:

1.求出一个数二进制中1的个数——可以通过与1<<j 进行&(按位与)运算累加求得;

2.排序——qsort快排,将1的个数和本身值捆绑起来(运用结构体)。

需要注意的点:

1.一行数据带空格输入时,可以通过多次scanf来进行读取;

2.排序的数可能很大,应该用long long(8个字节,64bit)类型存储,
所以1<<j过程中的1也应为64bit,也是long long类型;

3.在编写cmp时由于返回值是int,所以在比较long long数据时不能简单做差返回。

代码

#include<stdio.h>

typedef struct { long long data; int count;}Number;  //data为原数据 count为1的个数

int cmp(const void*a,const void*b)
{
	Number *m =(Number*)a;
	Number *n =(Number*)b;
	if(m->count!=n->count)
	{
		return (n->count)-(m->count);
	}
	else{
		if(m->data>n->data)  //long long 类型
		{
			return 1;
		}
		if(m->data<n->data)
		{
			return -1;
		}
	}
}

int main()
{
	int T;
	scanf("%d",&T);
    for(int i=0;i<T;i++)
    {
        int N;
        scanf("%d",&N);
        Number s[N];
        
        for(int j=0;j<N;j++)     //读入数据并初始化
        {
            scanf("%lld",&s[j].data);
        	s[j].count=0;
        }     
        
        for(int j=0;j<N;j++)    
        {
      		for(int k=0;k<64;k++)
            {
           		 if((s[j].data)&((long long)(1)<<k))     //统计1的个数
                 {
                	 s[j].count++;
                 }	
            }
        }
        
        qsort(s,N,sizeof(Number),cmp);   

        printf("case #%d:\n",i);
        for(int j=0;j<N;j++)
        {
        	printf("%lld ",s[j].data);
        }
        printf("\n");	
    }
	return 0;
}
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/boxueyuki/article/details/129630877

怎样培养数据分析的能力_nayun123的博客-爱代码爱编程_数据分析能力的培养

一般而言,数据分析需要哪些能力? 基本的理论知识:数理统计、模型原理、市场研究等。 常规分析工具的使用。常用办公软件(Excel、PPT、思维导图)、数据库、统计分析工具、数据挖掘等。 一定的业务理解能力,能理解业务背后的商业逻辑。只有理解问题,才能转换成数据分析的问题,才知道如何设定分析目标进行分析。 数据报告和数据可视化的能力。数据分析得再好

程序设计思维与实践 Week3 作业C 二分答案求组合后数据中的中位数-爱代码爱编程

题意: 给定一个数组A【n】,然后构造出数组B={| X[j] - X[i] |,其中1 <= i < j <=n},求出B数组中的中位数,其中中位数为位数即为排序之后 (len+1)/2 位置对应的数字,’/'为向下取整。 input: 多组输入,每次输入一个 N,表示有 N 个数,之后输入这个数组中的数据, 其中X[i]<

程序设计思维与实践 Week10 模拟赛 B 团队聚会(不支持C++11)-爱代码爱编程

题目描述: TA团队每周都会有很多任务,有的可以单独完成,有的则需要所有人聚到一起,开过会之后才能去做。但TA团队的每个成员都有各自的事情,找到所有人都有空的时间段并不是一件容易的事情。 给出每位助教的各项事情的时间表,你的任务是找出所有可以用来开会的时间段。 input: 第一行一个数T(T≤100),表示数据组数。 对于每组数据,第一行一个数

数据分析思维扫盲-爱代码爱编程

知识来源:接地气学堂1 前言 行文之初衷,建立知识树,因而不易速读,请君悉知。宜为工具书,按索引取之。独学而无友,必孤陋寡闻,请君赐教,不吝感激。循序图之, 数据分析介绍 前言一、基本认识1. 数据分析定义2. 需求层的工作概述3.数据层工作概述4.分析层工作概述5.输出层工作概述7.技术与能力其他概念数据赋能数据产品二.数据分析可以解决问

课后自主练习 (进制)1002. 按数据中1的位数排序 medium《编程思维与实践》个人学习笔记-爱代码爱编程

题目: 输入 3 1 1234 5 100 15 0 30 7 10 1 1 3 4 5 6 -7 -8 1234567 10000000 注意事项: ①输出格式,最后一个输出的排序好的数据后面没有空格,应特殊处理 ②在使用位运算来进行1的数据统计的时候,注意正数的默认类型为int(只有32位),然而题目的数据是在64位下进行1的累加,所以要么用一

c语言程序实验指导实验结果与分析,C语言与程序设计实验指导、报告书64739.doc...-爱代码爱编程

精品 C语言与程序设计 实验指导、报告书 班级:____________________ 姓名:____________________ 计算机科学与技术学院 C程序设计语言课程是计算机专业和非计算机专业的一门技术基础选修课程,大学一年级开设,同时也是作为学生学习计算机的一种启蒙语言。 通过本课程的学习使学生更好地了解和应用计算机,培养学

20个经典数据结构与算法,300多幅算法手绘图解,带你领略算法之美-爱代码爱编程

一些经典的数据结构和算法图书,偏重理论,读者学起来可能感觉比较枯燥。一些趣谈类的数据结构和算法图书,虽然容易读懂,但往往内容不够全面。另外,很多数据结构和算法图书缺少真实的开发场景,读者很难将理论和实践相结合。 刚好有这样一本书刚刚出版,解决了上述问题。 数据结构与算法之美(全彩印刷) 数据结构与算法之美(全彩印刷) 本书全面、系统地讲解了常用

《算法和数据结构》学习路线指引-爱代码爱编程

本文已收录于专栏 🌳《画解数据结构》🌳 🙉饭不食,水不饮,题必须刷🙉 C语言免费动漫教程,和我一起打卡! 🌞《光天化日学C语言》🌞 LeetCode 太难?先看简单题! 🧡《C语言入门100例》🧡 数据结构难?不存在的! 🌳《画解数据结构》🌳

计算机思维在数学中的应用,浅谈数学思维方式在计算机教学中的应用-爱代码爱编程

浅谈数学思维方式在计算机教学中的应用 (5页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 19.90 积分 浅谈数学思维方式在计算机教学中的应用高一微机组 赵玉喜在我们当今的生活、生产中,任何事物都有它内在的规律、程序,我们常常通过简单的 数学计算求出结论的事情无处不在。高中信息技术基础(必

自习室 | 《Python编程——从入门到实践》(第一部分)@含答案-爱代码爱编程

本书课后习题”动手试一试“答案将更新在Github中~ 👉 Answers-to-Python-Crash-Course 目录 第1章 起步第2章 变量和简单数据类型2.3 字符串2.4 数字2.5 注释2.6 Python之禅第3章 列表简介3.1 访问列表元素3.2 修改、添加、删除元素3.3 组织列表3.4 索引错误第4章 操作列表4.1

高中计算机编程内容,高中信息技术课程标准-爱代码爱编程

一、课程的基本理念 提升信息素养,培养信息时代的合格公民 信息素养是信息时代公民必备的素养。高中信息技术课程在义务教育阶段的基础上,以进一步提升学生的信息素养为宗旨;让学生在信息的获取、加工、管理、呈现与交流的过程中,在通过交流与合作解决实际问题的过程中,掌握信息技能,感受信息文化,增强信息意识,内化信息伦理;使高中学生发展为适应信息时代要求,具有

《算法和数据结构》从语言到算法的过渡篇-爱代码爱编程

本文已收录于专栏 💜《夜深人静写算法》💜 前言   看到太多爆肝熬夜整合的内容,又是几万字,又是爆肝,我也来试试看能不能扛得住。试完后发现,果然还是扛不住啊。但是既然整理完了,那就把我的 算法学习路线 发出来吧,我把整个算法学习的阶段总结成了五个步骤,分别为: 「 基础语法 」、 「 语法练习 」、 「 数据结构 」、 「 算法入门 」

《算法和数据结构》初出茅庐篇-爱代码爱编程

🧧2022 "算法" 赛道新星计划导师🧧 下滑到文末报名 文章目录 前言一、刷提前的准备1、编程语言2、编程环境3、测试用例二、推荐的书1、LeetCode零基础指南2、算法导论三、零基础如何刷LeetCode1、水题2、多维思考3、举一反三4、参加九日集训四、如何学习算法1、系统整理2、解题划级五、零基础算法十题入门1

2022年最新前端面试题(大前端时代来临卷起来吧小伙子们..持续维护走到哪记到哪)-爱代码爱编程

HTML和Css部分 1、对BFC规范(块级格式化上下文)的理解 BFC 块级格式化上下文 一块独立的区域,有自己的规则,bfc中的元素与外界的元素互不影响 BFC是一块用来独立的布局环境,保护其中内部元素不受外部影响,也不影响外部。 怎么触发BFC 1. float的值left或right 2. overflow的值不为vi

程设思维实践-实验E1-爱代码爱编程

程设思维实践-实验E1 本次实验线上进行,推荐大家使用 CSP(ubuntu) 环境进行实验(Windows 也可以进行实验)。A : 签到题【请在实验开始5分钟内完成签到】B : Slot输入格式输出格式样例输入样例输出思路代码C : Discount输入格式输出格式样例输入样例输出思路代码D : Orthogonality输入格式输出格式样例输

大数据采集与预处理_装一袋星辰大海的博客-爱代码爱编程

大数据采集与预处理 @Time 2022 / 6 / 10 内部特供 版权所有 翻版必究 文章目录 大数据采集与预处理第一章 大数据概述1.1 技术支撑1.2 大数据三阶段1.3 大数据特点1.4 大数据处理过程1.5 大数据关键技术1.6 大数据技术体系1.7 传统数据采集与分布式大数据采集1.8 分布式架构的大数据采集平台第二章 数据

用数据讲故事:基于分析场景的17条python使用小结-爱代码爱编程

数据科学的编程需要非常灵活的语言,以最少的代码处理复杂的数据建模场景。作为一名数科小白,我对Python的第一认知是丰富的机器学习算法,但Python有超过12万个第三方库,覆盖从数据预处理、统计分析、数据挖掘及可视化等各种日常数据科学建模。本文对基础用法不做赘述,主要分享我在分析场景中常用的部分方法,供大家参考交流。 本文为该系列第二篇文章。

python编程:从入门到实践 笔记_1 favorite_language = 'python ' 2 print('右侧有空格:' +-爱代码爱编程

文章目录 第二章 变量和简单数据类型2.1 运行 hello_world.py 时发生的情况2.2 变量2.2.1 变量的命名和使用2.2.2 使用变量时避免命名错误 2.3 字符串2.3.1 使用方法