lintcode
文章平均质量分 63
sunycccccc
这个作者很懒,什么都没留下…
展开
-
[lintcode] Happy Number 快乐数
判断一个数是否为快乐数,快乐数的定义是:对一个数的每一位计算平方并求和,得到一个新的数,不断重复该操作,直到得到一个循环,若循环得到数字1,则该数为快乐数。需要一个hash表,记录一下之前出现过的元素,如果出现过,并且没有得到1,输出false。想法很简单,但是代码没有这么写,因为样例比较水,就申请了10w的数组,就能过样例了,但是为了严谨一点,学习了一下C++11的 un原创 2017-03-29 20:08:23 · 751 阅读 · 0 评论 -
[lintcode]Remove Linked List Element 删除链表中的元素
指定一个值,移除所有链表上是这个值的节点。需要注意头指针也有值,注意头指针为空的情况。/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * };原创 2017-03-31 10:29:05 · 329 阅读 · 0 评论 -
[lintcode]二进制表示 ,Binary Representation
模拟题,很多细节需要注意,也有很多技巧,主要的想法是将数分成整数和小数两部分,分别转换成二进制。(1).题目中没有说转换成二进制的整数部分会不会超过int_64,所以原则上应该考虑一下。(2)判断double是否为0,需要设置一个极小值,否则程序可能不能停止。(3)小数转二进制时,不能直接对乘二后的数进行下取整,需要判断一下和(1-eps)的距离。(4)注意极端情况,顺便复习一下s原创 2017-04-10 23:04:40 · 684 阅读 · 0 评论 -
[lintcode]最大数 Largest Number
给出一组非负整数,重新排列他们的顺序把他们组成一个最大的整数。想法是,排序数组中的数,但需要重新定义排序的比较函数。对于两个数a、b,分别拼接成ab和ba,以这两个数的大小定义排序大小。使用sprintf函数将数字转换成字符串。将两个数字拼接是大小会超过int,需要使用long long。拼接之后需要去掉前导零。class Solution {public: /*原创 2017-05-07 16:54:34 · 415 阅读 · 0 评论