


全文预览已结束
付费下载
VIP免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 返回:0,1 在一组数的编码中,若任意两个相邻的代码只有一位二进制数不同, 则 称这种编码为格雷码(Gray Code),请编写一个函数,使用递归的方法生 成 N 位的格雷码。 给定一个整数 n,请返回 n 位的格雷码,顺序为从 0 开始。 测试样例: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 /方法一:递归 /递归的思路就是 n 位 gray 码是由 n-1 位 gray 码生成,举个例子简单一些: /比如求 n=3 的 gray 码,首先知道 n=2 的 gray 码是(00,01,11,10) /那么 n=3 的 gray 码其实就是对 n=2 的 gray 码首位添加 0 或 1 生成的,添加 0 后变成 (000,001,011,010) /添加 1 后需要顺序反向就变成(110,111,101,100) /组合在一起就是(000,001,011,010,110,111,101,100) class GrayCode public: vector getGray(int n) / write code here vector gray; if(n = 1) gray.push_back(0); gray.push_back(1); return gray; vector last_gray = getGray(n-1); for(int i = 0; i = 0; i-) gray.push_back(1+last_grayi); return gray; ; /方法二:利用公式 G(n) = n XOR (n/2),求得 gray 码的十进制之后再转换成二进制字符串 class GrayCode 春节期间小明使用微信收到很多个红包,非常开心。在查看领取红包记录时发现,某个红包 金额出现的次数超过了红包总数的一半。请帮小明找到该红包金额。写出具体算法思路和代码 实现,要求算法尽可能高效。 给定一个红包的金额数组 gifts 及它的大小 n,请返回所求红包的金额。 若没有金额超过总数的一半,返回 0。 测试样例: 注意,此题的输入中,不一定有数字出现的次数超过一半,比如一个测试用例 134 个数, 有一个数字出现了 67 次,而不是 68,要求返回 0 1,2,3,2,2,5 返回:2 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 public: string getbinarystr(int num, int n) string binarystr = ; while(num) int remain = num % 2; stringstream ss; ss remainstr; binarystr = remainstr + binarystr; num = num / 2; n-; while(n-) binarystr = 0 + binarystr; return binarystr; vector getGray(int n) / write code here int pown = pow(2, n); vector gray; for(int i = 0; i pown; i+) int graynum = i (i/2); string graystr = getbinarystr(graynum,n); gray.push_back(graystr); return gray; ; 遍历一遍数组,用一个哈希表存每个数字出现的次数 再遍历一遍哈希表,有次数超过一半的就返回,否则返回 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 using System.Collections.Generic; class Gift public int getValue(int gifts, intn) Dict
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年注册会计师之注册会计师会计题库与答案
- 炸鸡店的形象设计与店面布置
- 炸鸡店的拓展与创新战略
- 房地产项目的绩效考核体系建立
- 心理教学课件
- 应对意外事件的项目管理策略
- 房地产项目的合同管理要点
- 环境经济项目合同履行国际声誉重点基础知识点归纳
- 环境灾害应急法律法规教育法规重点基础知识点归纳
- 孙俪的大气端庄妆容
- 河南省豫地科技集团有限公司招聘笔试真题2024
- 2025年四川省自贡市中考数学真题含答案
- 工厂计件考勤管理制度
- JG/T 298-2010建筑室内用腻子
- 2024北京初三一模英语汇编:材料作文
- T/CCMA 0137-2022防撞缓冲车
- 2025商务英语(BEC)中级考试真题卷:模拟试题及答案解析
- 2024年中考一模 英语(湖北统考专用)(考试版A4)
- 油田数字化运维理论考试题库-上(单选题)
- 护理教育程序
- 麻风病知识讲座课件
评论
0/150
提交评论