摘要:
问题 A: 最大子序列和问题 题目描述 给定一整数序列 a1, a2, …, an,求 a1~an 的一个子序列 ai~aj,使得从 ai 到 aj 的和最大。 只需要求出最大子序列的和,而不需要求出最大的那个序列。 给定一整数序列 a1, a2, …, an,求 a1~an 的一个子序列 ai~a 阅读全文
摘要:
问题描述 给定一个整数数组,找到一个具有最大和的子数组,返回其最大和。 问题解析 很经典的一个问题,下面给出3种解法,暴力解法、分治算法、动态规划。这个题Leetcode上有大量测试数据,只不过最后两个测试数据要求算法复杂度为n,只能用动态规划来解,可以借鉴一下,链接见这里https://leetc 阅读全文
摘要:
问题1 用来测试的,就不说了 问题2:中位数附近2k+1个数 给出一串整型数 a1,a2,...,an 以及一个较小的常数 k,找出这串数的中位数 m 和最接近 m 的小于等于 m 的 k 个数,以及最接近 m 的大于等于 m 的 k 个数。将这 2k+1 个数按升序排序后输出。 中位数定义:如果数 阅读全文
摘要:
1.1 这里直接使用冒泡排序,并设置了变量保证在已经排好的情况下及时终止 void sort(vector<int>& v) { bool flag = true; for (int i = 0; i < v.size() && flag; ++i) { flag = false; for (int 阅读全文
摘要:
一、问题描述 给定一个数n,将它螺旋形填入n*n的矩阵之中 例子:n=3 输出矩阵:[[1,2,3] [8,9,4] [7,6,5]] 二、问题解决 具体思路见这里,只是将输出该为赋值,代码重新整理了一下,思路清晰多了。 阅读全文
摘要:
一、问题描述 给定一个字符串s,s是由多个单词组成,单词之间以‘ ’分开,找出最后一个单词的长度。如果没有最后单词则返回0。 二、问题描述 先找到最后一个单词的末尾,因为s可能以空格结尾,所以从后往前找到第一个不是空格的字符。然后再向前找到该单词的起始位置。 阅读全文
摘要:
一、问题描述 给定一系列区间,要求将其中重叠的、临接的区间合并成一个区间 例子: 给定[1,3],[2,6],[8,10],[15,18] 输出[1,6],[8,10],[15,18] 二、问题解决 第一步:先对区间按区间头进行排序 第二步:从第一个区间开始遍历,如果后一个区间与前一个区间有重叠或是 阅读全文
摘要:
一、问题描述 给定一个数组nums,给定一个非负整数数组, 您最初定位在数组的第一个索引处。数组中的每个元素表示该位置上的最大跳转长度。确定是否能够到达最后一个索引。 例子: A = [2,3,1,1,4], return true. A = [3,2,1,0,4], return false. 二 阅读全文
摘要:
原文地址 /arch。arch是architecture的缩写。arch目录下是好多个不同架构的CPU的子目录,譬如arm这种cpu的所有文件都在arch/arm目录下,X86的CPU的所有文件都在arch/x86目录下。 /block。是块的意思,在linux中block表示块设备,块设备是以数据 阅读全文
摘要:
一、问题描述 给定一个矩阵、要求螺旋型输出矩阵结果。 例子:给定矩阵[[1,2,3],[4,5,6],[7,8,9]]。输出结果为1,2,3,6,9,8,7,4,5。 二、问题解决 将矩阵分解成多个嵌套的空心矩形来遍历,将每个空心矩形的遍历分为四个部分:向右增长,向下增长,向左增长,向上增长。(代码 阅读全文