摘要: 输入一个长度为n的整数序列,从中找出一段长度不超过m的连续子序列,使得子序列中所有数的和最大。 输入格式 第一行输入两个整数n,m。 第二行输入n个数,代表长度为n的整数序列。 同一行数之间用空格隔开。 输出格式 输出一个整数,代表该序列的最大子序和。 数据范围 1≤n,m≤300000 输入样例: 阅读全文
posted @ 2019-07-18 18:04 YF-1994 阅读(133) 评论(0) 推荐(0) 编辑
摘要: 给定一个N行M列的01矩阵A,A[i][j] 与 A[k][l] 之间的曼哈顿距离定义为: 输入格式 第一行两个整数n,m。 接下来一个N行M列的01矩阵,数字之间没有空格。 输出格式 一个N行M列的矩阵B,相邻两个整数之间用一个空格隔开。 输出样例: 阅读全文
posted @ 2019-07-18 14:26 YF-1994 阅读(532) 评论(0) 推荐(0) 编辑
摘要: 给定一位研究者论文被引用次数的数组(被引用次数是非负整数),数组已经按照升序排列。编写一个方法,计算出研究者的 h 指数。h 指数的定义: “h 代表“高引用次数”(high citations),一名科研人员的 h 指数是指他(她)的 (N 篇论文中)至多有 h 篇论文分别被引用了至少 h 次。( 阅读全文
posted @ 2019-07-18 11:07 YF-1994 阅读(154) 评论(0) 推荐(0) 编辑
摘要: 给出一个完全二叉树,求出该树的节点个数。说明:完全二叉树的定义如下:在完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层的节点都集中在该层最左边的若干位置。若最底层为第 h 层,则该层包含 1~ 2h 个节点。示例:输入: 1 / \ 2 3 / \ /4 5 6输 阅读全文
posted @ 2019-07-18 11:00 YF-1994 阅读(123) 评论(0) 推荐(0) 编辑
摘要: 峰值元素是指其值大于左右相邻值的元素。给定一个输入数组 nums,其中 nums[i] ≠ nums[i+1],找到峰值元素并返回其索引。数组可能包含多个峰值,在这种情况下,返回任何一个峰值所在位置即可。你可以假设 nums[-1] = nums[n] = -∞。示例 1:输入: nums = [1 阅读全文
posted @ 2019-07-18 10:57 YF-1994 阅读(112) 评论(0) 推荐(0) 编辑
摘要: 给定一个包含 n + 1 个整数的数组 nums,其数字都在 1 到 n 之间(包括 1 和 n),可知至少存在一个重复的整数。假设只有一个重复的整数,找出这个重复的数。示例 1:输入: [1,3,4,2,2]输出: 2示例 2:输入: [3,1,3,4,2]输出: 3说明: 不能更改原数组(假设数 阅读全文
posted @ 2019-07-18 10:15 YF-1994 阅读(306) 评论(0) 推荐(0) 编辑
摘要: 编写一个高效的算法来判断 m x n 矩阵中,是否存在一个目标值。该矩阵具有如下特性: 每行中的整数从左到右按升序排列。 每行的第一个整数大于前一行的最后一个整数。示例 1:输入:matrix = [ [1, 3, 5, 7], [10, 11, 16, 20], [23, 30, 34, 50]] 阅读全文
posted @ 2019-07-18 09:53 YF-1994 阅读(157) 评论(0) 推荐(0) 编辑
摘要: 假设按照升序排序的数组在预先未知的某个点上进行了旋转。( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] )。搜索一个给定的目标值,如果数组中存在这个目标值,则返回它的索引,否则返回 -1 。你可以假设数组中不存在重复的元素。你的算法时间复杂度必须是 O(log 阅读全文
posted @ 2019-07-18 09:41 YF-1994 阅读(144) 评论(0) 推荐(0) 编辑