力扣414(java)-第三大的数(简单)】的更多相关文章

一.题目 难度:简单 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数, 并返回它们的数组下标. 你可以假设每种输入只会对应一个答案.但是,数组中同一个元素在答案里不能重复出现. 你可以按任意顺序返回答案. 二.示例 示例 1: 输入:nums = [2,7,11,15], target = 9 输出:[0,1] 解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] . 示例 2: 输入:nums…
题目 传送门 给定长度为 2n 的整数数组 nums ,你的任务是将这些数分成 n 对, 例如 (a1, b1), (a2, b2), ..., (an, bn) ,使得从 1 到 n 的 min(ai, bi) 总和最大. 返回该 最大总和 . 示例 1: 输入:nums = [1,4,3,2] 输出:4 解释:所有可能的分法(忽略元素顺序)为: (1, 4), (2, 3) -> min(1, 4) + min(2, 3) = 1 + 2 = 3 (1, 3), (2, 4) -> min…
题目 传送门 在MATLAB中,有一个非常有用的函数 reshape,它可以将一个矩阵重塑为另一个大小不同的新矩阵,但保留其原始数据. 给出一个由二维数组表示的矩阵,以及两个正整数r和c,分别表示想要的重构的矩阵的行数和列数. 重构后的矩阵需要将原始矩阵的所有元素以相同的行遍历顺序填充. 如果具有给定参数的reshape操作是可行且合理的,则输出新的重塑矩阵:否则,输出原始矩阵. 示例 1: 输入: nums = [[1,2], [3,4]] r = 1, c = 4 输出: [[1,2,3,4…
题目 传送门 文本 给定一个二进制矩阵 A,我们想先水平翻转图像,然后反转图像并返回结果. 水平翻转图片就是将图片的每一行都进行翻转,即逆序.例如,水平翻转 [1, 1, 0] 的结果是 [0, 1, 1]. 反转图片的意思是图片中的 0 全部被 1 替换, 1 全部被 0 替换.例如,反转 [0, 1, 1] 的结果是 [1, 0, 0]. 示例 1: 输入: [[1,1,0],[1,0,1],[0,0,0]] 输出: [[1,0,0],[0,1,0],[1,1,1]] 解释: 首先翻转每一行…
题目 传送门 文本 如果数组是单调递增或单调递减的,那么它是单调的. 如果对于所有 i <= j,A[i] <= A[j],那么数组 A 是单调递增的. 如果对于所有 i <= j,A[i]> = A[j],那么数组 A 是单调递减的. 当给定的数组 A 是单调数组时返回 true,否则返回 false. 示例 1: 输入:[1,2,2,3] 输出:true 示例 2: 输入:[6,5,4,4] 输出:true 示例 3: 输入:[1,3,2] 输出:false 示例 4: 输入:…
编写一个程序判断给定的数是否为丑数. 丑数就是只包含质因数 2, 3, 5 的正整数. 示例 1: 输入: 6 输出: true 解释: 6 = 2 × 3 示例 2: 输入: 8 输出: true 解释: 8 = 2 × 2 × 2 示例 3: 输入: 14 输出: false 解释: 14 不是丑数,因为它包含了另外一个质因数 7. 说明: 1 是丑数. 输入不会超过 32 位有符号整数的范围: [−231, 231 − 1]. Java版 class Solution { public b…
编写一个算法来判断一个数是不是"快乐数". 一个"快乐数"定义为:对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和,然后重复这个过程直到这个数变为 1,也可能是无限循环但始终变不到 1.如果可以变为 1,那么这个数就是快乐数. 示例: 输入: 19 输出: true 解释: 12 + 92 = 82 82 + 22 = 68 62 + 82 = 100 12 + 02 + 02 = 1 思路1 经测试,如果一个数不是快乐数,那么至多经过八次就会进入循环.…
给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?找出所有满足条件且不重复的三元组. 注意:答案中不可以包含重复的三元组. 例如, 给定数组 nums = [-1, 0, 1, 2, -1, -4], 满足要求的三元组集合为: [ [-1, 0, 1], [-1, -1, 2]] 思路 用HashSet无重复的特点去重. 先将数组排序. Arrays.sort(nums); //从小到大 用三个指针,i指向第一个元素,…
给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标. 你可以假设每种输入只会对应一个答案.但是,你不能重复利用这个数组中同样的元素. 示例: 给定 nums = [2, 7, 11, 15], target = 9 因为 nums[0] + nums[1] = 2 + 7 = 9 所以返回 [0, 1] java版 public int[] twoSum(int[] nums, int target) { int[] bac…
题目 剑指 Offer 49. 丑数 思路1 丑数是只包含 2.3.5 这三个质因子的数字,同时 1 也是丑数.要计算出 n 之前全部的丑数,就必须将 n 之前的每个丑数都乘以 2.3.5,选取出最小的那个数 但是如果每计算一个丑数都要将之前重新遍历一遍,时间复杂度较高 因此我们使用动态规划,创建一个dp数组,dp[i] 代表第 i + 1 个丑数,同时状态转移方程为: \[\begin{cases} dp[a]×2>dp[i−1]≥dp[a−1]×2 \\ dp[b]×3>dp[i−1]≥d…