C++
文章平均质量分 62
Glorious只為你
欲戴王冠,必承其重......
展开
-
LintCode 6.合并排序数组II C++
问题描述:合并两个排序的整数数组A和B变成一个新的数组。样例:给出A=[1,2,3,4],B=[2,4,5,6],返回 [1,2,2,3,4,4,5,6]分析:首先要有两个变量i、j来遍历两个数组,只要A、B两个数组有一个没有遍历完,就要进行操作。考虑到A和B的长度不同,当A遍历完时,将B中剩余元素全部放入C尾;当B遍历完时,将A中剩余元素全部放入C尾。否则,A、B均未遍历完,比较A[i]原创 2018-01-31 10:05:40 · 309 阅读 · 0 评论 -
LintCode 463.整数排序 冒泡排序 C++
问题描述:给一组整数,按照升序排序,使用选择排序,冒泡排序,插入排序或者任何 O(n2)的排序算法。样例:对于数组 [3, 2, 1, 4, 5], 排序后为:[1, 2, 3, 4, 5]。分析:根据个人喜好,我对冒泡最熟了,所以用它,先要用A.size()获取数组A的长度n,冒泡排序最坏的情况下需要有n-1趟排序,即循环n-1次。第i次循环(第i趟排序)要比较n-i次。从网上找了冒原创 2018-01-27 15:09:29 · 230 阅读 · 0 评论 -
LintCode 452.删除链表中的元素 C++
问题描述:删除链表中等于给定值val的所有节点。样例:给出链表 1->2->3->3->4->5->3,和val = 3,你需要返回删除3之后的链表:1->2->4->5。// Definition for singly-linked list.struct ListNode { int val; ListNode *next; ListNode(int x)原创 2018-01-26 16:29:24 · 449 阅读 · 0 评论 -
LintCode 466.链表节点计数 C++
问题描述:计算链表中有多少个节点.样例:给出 1->3->5, 返回 3.我觉得这可能是在LintCode中看到的最简单、最合我胃口的题了,不说了,直接粘代码吧。/** * Definition of ListNode * class ListNode { * public: * int val; * ListNode *next; * ListNo原创 2018-01-26 21:30:26 · 347 阅读 · 0 评论 -
LintCode 366.斐波那契数列 C++
问题描述:查找斐波纳契数列中第 N 个数。所谓的斐波纳契数列是指:前2个数是0 和 1 。第 i个数是第 i-1 个数和第i-2 个数的和。斐波纳契数列的前10个数字是:0, 1, 1, 2, 3, 5, 8, 13, 21, 34 ...样例:给定1,返回0给定2,返回1给定10,返回34方法一:递归,但循环次数较多,时间复杂度较高。Lin原创 2018-01-27 14:46:04 · 236 阅读 · 0 评论 -
LintCode 8.旋转字符串 C++
问题描述:给定一个字符串和一个偏移量,根据偏移量旋转字符串(从左向右旋转)样例:对于字符串 "abcdefg".offset=0 => "abcdefg"offset=1 => "gabcdef"offset=2 => "fgabcde"offset=3 => "efgabcd"分析:好了,我将开始我的表演。首先获取字符串str的长度len,然后如果长度为0或或旋转原创 2018-02-02 16:01:11 · 583 阅读 · 0 评论 -
LintCode 394.硬币排成线 395.硬币排成线Ⅱ C++
394.硬币排成线Ⅰ问题描述:有 n 个硬币排成一条线。两个参赛者轮流从右边依次拿走 1 或 2 个硬币,直到没有硬币为止。拿到最后一枚硬币的人获胜。请判定 第一个玩家 是输还是赢?样例:n = 1, 返回 true. n = 2, 返回 true. n = 3, 返回 false. n = 4, 返回 true. n = 5, 返回 true.挑战:O(1) 时间复杂原创 2018-02-02 09:11:58 · 276 阅读 · 0 评论 -
LintCode 14.二分查找 C++
问题描述:给定一个排序的整数数组(升序)和一个要查找的整数target,用O(logn)的时间查找到target第一次出现的下标(从0开始),如果target不存在于数组中,返回-1。样例:在数组 [1, 2, 3, 3, 4, 5, 10] 中二分查找3,返回2。分析:二分查找,又叫折半查找,,是一种高效率的查找方式,查找的前提是被查找的数据必须是有序的。二分查找的思想是找到查找区间原创 2018-01-31 14:17:56 · 345 阅读 · 0 评论 -
LintCode 9.Fizz Buzz 问题 C++
问题描述:给你一个整数n. 从 1 到 n 按照下面的规则打印每个数:如果这个数被3整除,打印fizz.如果这个数被5整除,打印buzz.如果这个数能同时被3和5整除,打印fizz buzz.样例:比如 n = 15, 返回一个字符串数组:[ "1", "2", "fizz", "4", "buzz", "fizz", "7", "8", "fizz", "原创 2018-01-31 11:38:25 · 500 阅读 · 0 评论 -
LintCode 2.尾部的零 C++
LintCode 2.尾部的零 C++问题描述:设计一个算法,计算出n阶乘中尾部零的个数样例:11! = 39916800,因此应该返回2分析:把1×2×3×4×……×n中每一个数因式分解,会出现:1×2×3×(2×2)×5×(2×3)×…… 像这样。十进制数结尾的有多少个0,就表示其因数里有多少个10——其他进制也一样,一个M进制的数,让结尾多一个0就等价于乘以M。对于十原创 2018-01-27 16:22:15 · 392 阅读 · 0 评论