全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026“梦工场”招商银行东莞分行寒假实习生招聘备考题库附答案详解(能力提升)
- 2026建信财产保险有限公司校园招聘20人备考题库附答案详解(模拟题)
- 北京市大兴区司法局招聘临时辅助用工1人备考题库附答案详解(突破训练)
- 2025浙江稠州商业银行嘉兴分行招聘备考题库附答案详解(考试直接用)
- 2026浦发银行宁波分行校园招聘备考题库有完整答案详解
- 2026招商银行合肥分行寒假实习生招募备考题库参考答案详解
- 2025年通榆县政协办公室综合保障中心公开选调事业编制工作人员备考题库(1人)及答案详解(必刷)
- 2025重庆长寿区城市管理综合行政执法支队派遣招聘2人备考题库含答案详解(达标题)
- 2025内蒙古呼和浩特市力信社会工作服务中心招聘备考题库及答案详解(基础+提升)
- 2025甘肃张掖高台县招聘社区工作者8人备考题库含答案详解
- 跨境电商3C手机壳选品运营项目各节点完成情况及核心成效展示
- 静脉输液的并发症
- 2026届上海市松江区高三上学期一模数学试卷及答案解析
- 企业股权收购操作方案范文及要点
- 智慧路灯系统定制开发合同
- 注册安全工程师课件
- 创伤急救模拟教学的跨学科协作模式研究
- 2026届新高考数学冲刺突破复习“三角函数”教学研究与高考备考策略-从基础到高阶的思维建构
- 动态无功补偿培训课件
- 质量保证体系文件模板
- 友谊美课件教学课件
评论
0/150
提交评论