你是真的“C”——找单身狗~

这篇具有很好参考价值的文章主要介绍了你是真的“C”——找单身狗~。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


你是真的“C”——找单身狗~

   
😎博客昵称:博客小梦
😊最喜欢的座右铭:全神贯注的上吧!!!
😊作者简介:一名热爱C/C++,算法等技术、喜爱运动、热爱K歌、敢于追梦的小博主!

😘博主小留言:哈喽!😄各位CSDN的uu们,我是你的博客好友小梦,希望我的文章可以给您带来一定的帮助,话不多说,文章推上!欢迎大家在评论区唠嗑指正,觉得好的话别忘了一键三连哦!😘
你是真的“C”——找单身狗~

前言🙌

    哈喽各位友友们😊,我今天又学到了很多有趣的知识现在迫不及待的想和大家分享一下!😘我仅已此文,和大家分享你是真的“C”——找单身狗~ 都是精华内容,可不要错过哟!!!😍😍😍

初阶——找单身狗问题:

在一组数组中,有一只“单身狗”(该数字只出现一次),其他的数字都有一个和自己相同的数字。

其实解答此题有许多的方法,例如直接将数组进行一个排序,然后定义两个指针,然后寻找到单身狗。这里介绍的是用异或运算来解答这道题目,效率也比较高。

异或运算的规律:

  • 相同为零,相异为1;
  • 任何数和0异或等于其本身
  • 两个相同的数异或为0.

解题源码分享: 😘

#include <stdio.h>
int main()
{
	int single_dog[] = { 1,2,3,4,1,2,3,4,5 };
	int sz = sizeof(single_dog) / sizeof(int);
	int i = 0;
	int sin_dog = 0;
	for (i = 0; i < sz; i++)
	{
		sin_dog^= single_dog[i];
	}
	printf("%d", sin_dog);
	return 0;
}

程序输出结果验证: 😊

你是真的“C”——找单身狗~

进阶——找单身狗问题:

在一组数组中,有两只“单身狗”(有两个数字只出现一次),其他的数字都有一个和自己相同的数字。

  • 这道题明显比初阶找单身狗的问题难度明显上升,但是解法也很相似。
  • 那我们可不可以将这个问题转换成初阶单身狗问题呢?显然是可以的。这道题的核心就是进行一个分组,让两只单身狗分别在不同的组里面。这里举例说明一下两只单身狗为4和5。
  • 我们知道 4 的 二进制为:0100 。 5 的二进制为: 0101。可以发现 4 和 5 的最低二进制位上的数字不同。因此,这个可以作为分组的条件。
  • 然后依次对每一个组的数字进行一个异或,最终得到每一组的单身狗。

解题源码分享: 😘


#include <stdio.h>
int main()
{
	int single_dog[] = {1,2,3,4,1,2,3,5};
	int sz = sizeof(single_dog) / sizeof(int);
	int i = 0;
	int dog1 = 0;
	int dog2 = 0;
	for (i = 0; i < sz; i++)
	{
		//分组:
		// 4 : 0100  5: 0101 
		if ((single_dog[i] & 1) == 1)
		{
			dog1 ^= single_dog[i];
		}
		else if((single_dog[i] & 1) == 0)
		{
			dog2 ^= single_dog[i];
		}
	}
	printf("%d %d", dog1, dog2);
	return 0;
}

程序输出结果验证: 😊

你是真的“C”——找单身狗~

总结撒花💞

   本篇文章旨在分享你是真的“C”——找单身狗。希望大家通过阅读此文有所收获😘如果我写的有什么不好之处,请在文章下方给出你宝贵的意见😊。如果觉得我写的好的话请点个赞赞和关注哦~😘😘😘文章来源地址https://www.toymoban.com/news/detail-416096.html

到了这里,关于你是真的“C”——找单身狗~的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 你是真的“C”——实用memory类库函数的详细实现和使用

        😎博客昵称:博客小梦 😊最喜欢的座右铭:全神贯注的上吧!!! 😊作者简介:一名热爱C/C++,算法等技术、喜爱运动、热爱K歌、敢于追梦的小博主! 😘博主小留言:哈喽! 😄各位CSDN的uu们,我是你的博客好友小梦,希望我的文章可以给您带来一定的帮助,话不

    2024年02月02日
    浏览(46)
  • 单身狗问题(初级)兼(升级版)

    所属专栏:经典算法题❤️ 🚀 博主首页:初阳785❤️ 🚀 代码托管:chuyang785❤️ 🚀 感谢大家的支持,您的点赞和关注是对我最大的支持!!!❤️ 🚀 博主也会更加的努力,创作出更优质的博文!!❤️ 🚀 关注我,关注我,关注我,重要的事情说三遍!!!!!!!!

    2024年02月16日
    浏览(43)
  • 【C刷题笔记】找单身狗问题

    目录 版本1:在数组内只有一个元素没有成对出现 版本2:在数组内有两个元素没有成对出现 第一步:异或所有元素,异或就是相同为0,相异为1 第二步:计算ret的二进制中哪一位元素是1 第三步:开始分组异或 1.分组: 2.异或 单身狗 只有一个数字出现一次,其他数数字都是成对出现的

    2024年02月07日
    浏览(30)
  • 全局单身汉:深入理解 Python 中的单例对象

    项目 描述 搜索引擎 Google 、Bing Python 官方文档 项目 描述 Python 解释器 3.10.6 单例对象 在 Python 中,单例对象是一种设计模式,旨在确保在应用程序中只有一个特定类的实例。这意味着无论创建多少个该类的实例,都将始终引用相同的实例。 单例对象的优缺点 单例对象的优点

    2024年02月02日
    浏览(45)
  • 好兄弟单身?这不得用python来帮他脱离苦海

    明天什么节日 ?明天谁过节 ? 是你吗,还是你的朋友 ?如果是你的话,那咱就帮帮朋友,到年龄的咱就直接相亲呗 赠人玫瑰 手留余香 好人做到底,来让朋友体验体验恋爱的感觉~ 今天就带你们来爬爬相亲网站的数据信息 如果明天你不过节,那你也可以自己筛选筛选,这种

    2024年02月05日
    浏览(33)
  • 【LeetCode】260.只出现一次的数字 III(找出单身狗)

     👀 樊梓慕: 个人主页   🎥 个人专栏: 《C语言》《数据结构》《蓝桥杯试题》 🌝 每一个不曾起舞的日子,都是对生命的辜负。 目录 前言: 一只单身狗: 两只单身狗: 本篇主要讲解LeetCode上的经典题型:只出现一次的数字,我汇总了该类问题的两种情况(一只单身狗

    2024年02月16日
    浏览(42)
  • 10个Python绘画表白代码【内附源码,再不收藏你只能单身了】

    发现一些很好玩的画图小项目,今天分享给大家,教你怎样用Python画一朵玫瑰花、时钟、爱心、太阳花、月饼、进阶自定义爱心、小猪佩奇、星空、超梦幻的蓝色背景樱花等大家快来学习吧。 pycharm 、python

    2024年02月12日
    浏览(37)
  • 【每日易题】七夕限定——单身狗问题以及进阶问题位运算法的深入探讨

    君兮_的个人主页 勤时当勉励 岁月不待人 C/C++ 游戏开发 Hello,米娜桑们,这里是君兮_,在写这篇博客的前一天是七夕,也是中国传统的“情人节”,不知道各位脱单了吗?碰巧最近刷题时遇到了经典的单身狗问题想带大家深入探讨一下,如果没脱单的话不如继续学习吧,记住

    2024年02月11日
    浏览(51)
  • 陪玩圈子系统:打破单身孤独,展开精彩社交旅程,APP小程序H5,源码交付,支持二开!

    近年来,随着社交网络的快速发展,越来越多的人开始寻求各种方式来解决单身孤独的问题。而陪玩圈子系统便应运而生,在为用户提供社交服务的同时也促进了人与人之间的互动和交流。在这个拥有庞大用户数量和各种丰富活动的平台上,你将有机会结识志同道合的朋友,

    2024年02月05日
    浏览(48)
  • 你是时候拥抱chatgpt了

    随着chatgpt热度不断上升,chatgpt已经广泛应用到各个行业了,很多人都感觉自己地位受到威胁,有人预测chatgpt会取代80%程序员的工作,我也用了chatgpt有几个月了,不得不说是真的牛逼。我甚至用它写了一个python的聊天脚本(本人只是一个小前端,只会一点JS)。 功能迭代 1

    2024年02月07日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包