摘要: 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。 说明: 你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗? 示例 1: 输入: [2,2,1]输出: 1示例 2: 输入: [4,1,2,1,2]输出: 4 方法 1:集合操作算法 阅读全文
posted @ 2020-04-25 16:50 Learner- 阅读(81) 评论(0) 推荐(0) 编辑
摘要: 4的幂 给定一个整数 (32 位有符号整数),请编写一个函数来判断它是否是 4 的幂次方。 示例 1: 输入: 16输出:yes示例 2: 输入: 5输出: no 进阶:你能不使用循环或者递归来完成本题吗? 分析: 联想到如何确定一个数是否是2的幂,这里有一个可行的方法:假设这个数为x 则只要判断 阅读全文
posted @ 2020-04-25 15:40 Learner- 阅读(215) 评论(0) 推荐(0) 编辑
摘要: 给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。 注意空字符串可被认为是有效字符串。 示例 1: 输入: "()"输出: true示例 2: 输入: "()[]{}"输出 阅读全文
posted @ 2020-04-24 01:18 Learner- 阅读(82) 评论(0) 推荐(0) 编辑
摘要: 题目描述 将整数n分成k份,且每份不能为空,任意两个方案不相同(不考虑顺序)。 例如:n=7,k=3,下面三种分法被认为是相同的。 1,1,51,5,15,1,1 问有多少种不同的分法。 输入格式 n,k (6<n≤200,2≤k≤6) 输出格式 1个整数,即不同的分法。 输入输出样例 输入 #1 阅读全文
posted @ 2020-04-23 23:55 Learner- 阅读(89) 评论(0) 推荐(0) 编辑
摘要: 描述已知矩阵的大小定义为矩阵中所有元素的和。给定一个矩阵,你的任务是找到最大的非空(大小至少是1 * 1)子矩阵。比如,如下4 * 4的矩阵0 -2 -7 09 2 -6 2-4 1 -4 1-1 8 0 -2的最大子矩阵是9 2-4 1-1 8这个子矩阵的大小是15。输入输入是一个N * M的矩阵 阅读全文
posted @ 2020-04-21 23:44 Learner- 阅读(127) 评论(0) 推荐(0) 编辑
摘要: 题目描述 给出一段序列,选出其中连续且非空的一段使得这段和最大。 输入格式 第一行是一个正整数N,表示了序列的长度。 第二行包含N个绝对值不大于10000的整数A_i,描述了这段序列。 输出格式 一个整数,为最大的子段和是多少。子段的最小长度为11。 输入输出样例 输入 #1 7 2 -4 3 -1 阅读全文
posted @ 2020-04-21 21:55 Learner- 阅读(86) 评论(0) 推荐(0) 编辑
摘要: 最长上升子序列 给定一个无序的整数数组,找到其中最长上升子序列的长度。 示例: 输入: [10,9,2,5,3,7,101,18] 输出: 4 解释: 最长的上升子序列是 [2,3,7,101],它的长度是 4。 思路: 代码: void lenthOfLIS(vector<int> nums){ 阅读全文
posted @ 2020-04-21 20:31 Learner- 阅读(121) 评论(0) 推荐(0) 编辑
摘要: 题目描述 N位同学站成一排,音乐老师要请其中的(N−K)位同学出列,使得剩下的K位同学排成合唱队形。 合唱队形是指这样的一种队形:设K位同学从左到右依次编号为1,2,…,K,他们的身高分别为T1​,T2​,…,TK​, 则他们的身高满足T_1<...<T_i>T_{i+1}>…>T_K​(1≤i≤K 阅读全文
posted @ 2020-04-21 01:46 Learner- 阅读(325) 评论(0) 推荐(0) 编辑
摘要: 题目描述 某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统。但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度。某天,雷达捕捉到敌国的导弹来袭。由于该系统还在试用阶段,所以只有一套系统,因此有可能不能拦截所有的导弹。 输入导弹依次飞来的高 阅读全文
posted @ 2020-04-20 13:12 Learner- 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 基本思想 动态规划算法通常用于求解具有某种最优性质的问题。在这类问题中,可能会有许多可行解。每一个解都对应于一个值,我们希望找到具有最优值的解。动态规划算法与分治法类似,其基本思想也是将待求解问题分解成若干个子问题,先求解子问题,然后从这些子问题的解得到原问题的解。与分治法不同的是,适合于用动态规划 阅读全文
posted @ 2020-04-20 00:30 Learner- 阅读(116) 评论(0) 推荐(0) 编辑