
牛客
behboyhiex
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
需要排序的最短子数组的长度
【题目】 给定一个无序数组arr,求出需要排序的最短子数组长度。 例如: arr = [1, 5, 3, 4, 2, 6, 7]返回4,因为只有[5, 3, 4, 2]需要排序。【思路】 双指针 第一次从左向右遍历,找左边比当前位置大的 第二次从右向左遍历,找右边比当前位置小的【代码】int findMinUnSortArray(int *arr ,...原创 2018-06-21 12:45:09 · 1127 阅读 · 0 评论 -
牛客算法-求约数个数和
题目描述:给个n,求1到n的所有数的约数个数的和输入描述:第一行一个正整数n输出描述:输出一个整数,表示答案例输入:3 输出:5样例解释: 1有1个约数1 2有2个约数1,2 3有2个约数1,3备注:n <= 100000000 #include <iostream> using namespace std; int main() { long i,res,n; c...原创 2018-06-14 09:50:13 · 801 阅读 · 1 评论 -
算法-并查集-加边无向图
题目描述:给你一个 n 个点,m 条边的无向图,求至少要在这个的基础上加多少条无向边使得任意两个点可达~ 输入描述:第一行两个正整数 n 和 m 。 接下来的m行中,每行两个正整数 i 、 j ,表示点i与点j之间有一条无向道路。输出描述:输出一个整数,表示答案例 :输入4 2 1 2 3 4输出:1备注:对于100%的数据,有n,m<=100000。#include<iostream...原创 2018-06-14 10:15:01 · 1224 阅读 · 0 评论 -
算法-最短子数组
给定一个无序数组arr,求出需要排序的最短子数组长度。例如:arr = [1,5,3,4,2,6,7]返回4,因为只有[5,3,4,2]需要排序。分析: 这道题思路在于两次遍历,第一次找到左边是否存在比当前位置大的元素,第二次找到右边是否存在比当前位置元素小的,然后相减// 两次遍历,时间复杂度为O(N),第一次找到左边是否存在比当前位置大的元素,第二次找到右边是否存在比当前位置元素小的 // 然...原创 2018-06-14 10:56:27 · 439 阅读 · 0 评论 -
算法-最大的LeftMax与rightMax之差绝对值
算法-最大的LeftMax与rightMax之差绝对值给定一个长度为N的整型数组arr,可以划分成左右两个部分:左部分arr[0..K],右部分arr[K+1..arr.length-1],K可以取值的范围是[0,arr.length-2]求这么多划分方案中,左部分中的最大值减去右部分最大值的绝对值,最大是多少? 例如: [2,7,3,1,1]当左部分为[2,7],右部分为[3,1,1]时,左部分...原创 2018-06-14 11:48:24 · 404 阅读 · 0 评论 -
Leetcode 300 最长递归子序列
Leetcode 300 最长递归子序列给定一个未排序的整数数组,找到最长的递增子序列的长度。例:输入:[10,9,2,5,3,7,101,18] 输出: 4 说明:最长的子序列是[2,3,7,101],因此长度是4。class Solution { public: int lengthOfLIS(vector<int>& nums) { if (nu...原创 2018-06-20 15:04:51 · 653 阅读 · 0 评论