![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
代码练习
主要是上传lintcode上的各种题目。
仓莫斯
软件开发工程师
展开
-
二分查找总结
二分查找在有序数组中查找一个具体的目标值,主要分为三种情况:目标位置任意匹配;目标位置最右匹配;目标位置最左匹配。目标位置任意匹配int findPosition(vector<int> &nums, int target){ if (nums.size() <= 0){ return -1; } int len = ...原创 2019-12-24 17:03:21 · 122 阅读 · 0 评论 -
LintCode 65. 两个排序数组的中位数
LintCode 65. 两个排序数组的中位数题目描述两个排序的数组A和B分别含有m和n个数,找到两个排序数组的中位数,要求时间复杂度应为O(log (m+n))。样例:输入:A = [1,2,3,4,5,6]B = [2,3,4,5]输出:3.5样例:输入:A = [1,2,3]B = [4,5]输出:3思路最直观的思路是就是将两个数组合并成一个数组,然后将这个数...原创 2019-12-19 09:42:13 · 130 阅读 · 0 评论 -
LintCode 585. 山脉序列中的最大值
585. 山脉序列中的最大值题目描述给 n 个整数的山脉数组,即先增后减的序列,找到山顶(最大值)。数组严格递增,严格递减。样例:输入:nums =[1,2,4,8,6,3]输出:8样例:输入:nums=[10,9,8,7]输出:10思路相关代码...原创 2019-12-14 09:24:54 · 246 阅读 · 0 评论 -
double类型数组排序
#include<algorithm>#include<vector>#include<string>#include<iostream>using namespace std;//double类型数据排序,要求时间复杂度为O(n)//O(n)复杂度的排序算法主要是计数排序、基数排序和桶排序。//采用基数排序的方式求解这个问题v...原创 2019-12-09 17:00:12 · 3049 阅读 · 0 评论 -
LintCode 1312. 数字1的个数
1312. 数字1的个数题目描述给定整数n,计算出现在小于等于n的所有非负整数中的数字1的总数。样例:输入:13输出:6样例:输入:100输出:21思路很容易想到的思路是采用暴力求解的方法,判断从1到N每个数中含有1的个数,然后将其相加,但这种方法的时间复杂度很高,不是很适用。找到其中的规律,用数学规律来求解这道题目。规律如下:求取当前位的高位,低位,并和当前位结...原创 2019-11-21 10:58:35 · 163 阅读 · 0 评论