LeetCode
见证每 1 bit 成长。
洒家肉山大魔王
学习是一辈子的事情,去身上的戾气也是一辈子的修炼。
展开
-
NO.6 计算数组中存在重复元素 II
给定一个整数数组和一个整数 k,判断数组中是否存在两个不同的索引 i 和 j,使得 nums [i] = nums [j],并且 i 和 j 的差的 绝对值 至多为 k示例示例1:输入:nums = [ 1, 2, 3, 1], k = 3输出:true示例2:输入:nums = [ 1, 0, 1, 1], k = 1输出:true示例3:输入:nums = [ 1, 2, 3, 1, 2, 3], k = 2输出:falseSolution方法1.原创 2021-03-17 19:56:38 · 144 阅读 · 0 评论 -
NO.5 计算数组中三个数的最大乘积
给定一个整型数组nums,在数组中找出由三个数组成的最大乘积,并输出这个乘积。示例示例 1:输入:nums = [1,2,3]输出:6示例 2:输入:nums = [1,2,3,4]输出:24示例 3:输入:nums = [-1,-2,-3]输出:-6提示3 <= nums.length <=104-1000 <= nums[i] <= 1000解题思路首先将数组排序。从数组中取出三个元素相乘,得到最大整...原创 2021-03-10 21:03:31 · 1107 阅读 · 2 评论 -
NO.4 计算有序数组的平方
Question给你一个按非递减顺序排序的整数数组nums,返回每个数字的平方组成的新数组,要求也按非递减顺序排序。示例示例 1:输入:nums = [-4,-1,0,3,10]输出:[0,1,9,16,100]解释:平方后,数组变为 [16,1,0,9,100]排序后,数组变为 [0,1,9,16,100]示例 2:输入:nums = [-7,-3,2,3,11]输出:[4,9,9,49,121]提示1 <= nums.length &...原创 2021-03-10 15:49:54 · 203 阅读 · 2 评论 -
NO.3 寻找数组主要元素
Question数组中占比超过一半的元素称之为主要元素。给定一个整数数组,找到它的主要元素。若没有,返回-1。示例示例 1:输入:[1,2,5,9,5,9,5,5,5]输出:5示例 2:输入:[3,2]输出:-1示例 3:输入:[2,2,1,1,1,2,2]输出:2说明你有办法在时间复杂度为 O(N),空间复杂度为 O(1) 内完成吗?解题思路转置矩阵也是将M行N列的矩阵的主对角线翻转,交换矩阵的行索引与列索引,转成N行M列的矩阵,原矩阵原创 2021-03-10 15:24:01 · 383 阅读 · 5 评论 -
NO.2 转置矩阵
Question给定一个二维整数数组 matrix,返回 matrix 的转置矩阵 。转置矩阵解释如果矩阵为 m行 n列,则转置后的矩阵为 n行 m 列,且对任意和,都有 创建一个 n行 m 列的新矩阵,根据转置的规则对新矩阵中的每个元素赋值,则新矩阵为转置后的矩阵。解题思路转置矩阵也是将M行N列的矩阵的主对角线翻转,交换矩阵的行索引与列索引,转成N行M列的矩阵,原矩阵中matrix[i][j]的位置,会交换到新矩阵的newMatrix[j][i]的位置。如下图...原创 2021-03-07 13:59:10 · 422 阅读 · 6 评论 -
NO.1 根据数组元素之和,获取对应索引
两数之和:给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]Code:暴力解法,忽略算法的时间和空间复杂度,执行效率较低。双层for循环,遍历目标数组的每个元素x原创 2020-08-31 22:16:45 · 245 阅读 · 0 评论