04 2019 档案
摘要:题目: 一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。 看题目脑子里就出现做法了: 遍历,用个HashMap来记录出现的次数,然后再遍历HashMap返回的EntrySet找出出现一次的数字搞定。 代码顺便上下吧: 然后看牛客网的讨论,原来可以用异或操作
阅读全文
摘要:蛮力: 遍历数组,对每个元素都往前遍历所有元素,如果有发现比它小的元素,就count++。 最后返回count取模。 结果没问题,但超时哈哈哈,只能过50%。 归并法: 看讨论,知道了这道题的经典做法应该是用归并的思想,之所以用归并,是因为像上面我们直接比较a[i]后面的所有元素的话,肯定是O(n^
阅读全文
摘要:这是剑指第一次卡死我的题……记录一下 首先看题目: 把只包含质因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含质因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。 一开始的思路: 一开始,我就直接蛮力,就按照它的描述,从2到根号
阅读全文
摘要:emm算法设计书上讲了个基于递归分治法的一个方法,大概思路就是把比如两位数的乘法需要4次乘法运算变成只需要2次。emm我感觉一般还没大到要分治法来什么吧,就直接写了个模拟笔算的方法。 看代码:
阅读全文
摘要:搞了个HeapSort类,有个类变量type确定是大顶堆还是小顶堆。 注意,用堆的时候处理的数组是0元素不用的!! 上代码:
阅读全文
浙公网安备 33010602011771号