每日一算法
W_ILU
人生如覆水行舟,不进则退
展开
-
每日一算法---寻找丑数
题目:我们把只包含因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含因子7。习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第1500个丑数。 分析:寻找一个数是不是满足某种数(质数,水仙数)等,最简单的方法就是遍历,对于任意一个丑数必定可以写成2^m*3^n*5^p,因而对于一个丑数,只含有2,3,5因子,也就意味着该数number%2==0;n原创 2016-03-20 12:42:45 · 554 阅读 · 0 评论 -
每日一算法---组成三位数
如题:有0、1、2、3、4五个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?分析:掌握此算法并不难,看清题目要求是在规定数字内选取三位组成无重复的数字,只需要构建一个数组,利用三层循环加判断的方法在不同时间取不同顺序的不同值即可public class Test { public static void main(String[] args) {原创 2016-03-28 09:49:03 · 1169 阅读 · 0 评论 -
贪心算法之哈夫曼编码(C语言实现)
如题问题描述:现有一个文本文件,其中包含的字符数据出现的次数各不相同,先要求对该文本中包含的字符进行编码,使文本占用的位数更小。问题分析:我们知道文件的存储都是以二进制数表示的,如:字符c可以表示为010101…之类的。因为不同的操作系统对于不同的数据类型会分配给相同的数据容器长度,如C中int型数据固定占用4个字节的存储空间。现在问题时因为各个字符出现的概率不同,那么我们就可以给出现概率高的字符分原创 2016-03-19 15:03:04 · 15256 阅读 · 1 评论 -
分金子[2017年360春招笔试编程题]
如题 :A、B两伙马贼意外地在一片沙漠中发现了一处金矿,双方都想独占金矿,但各自的实力都不足以吞下对方,经过谈判后,双方同意用一个公平的方式来处理这片金矿。处理的规则如下:他们把整个金矿分成n段,由A、B开始轮流从最左端或最右端占据一段,直到分完为止。 马贼A想提前知道他们能分到多少金子,因此请你帮忙计算他们最后各自拥有多少金子?(两伙马贼均会采取对己方有利的策略)解题思路 :原创 2017-07-31 14:22:02 · 3836 阅读 · 2 评论 -
统计俩个二进制数不同的位数
如题 : 给定俩个十进制的整数,求解对应的二进制不同的位数有几位测试数据 : 1999,2999输出 : 7思路 : 使用异或,异或运算相当于没有进位的加法运算,故该位为1表示对应位不同,对异或得到的值进行统计1的个数则得出结果链接:https://www.nowcoder.com/questionTerminal/ba033b0d1c2f497da1dd04330cc0原创 2017-07-29 13:00:27 · 2820 阅读 · 2 评论