1464. 数组中两元素的最大乘积
https://leetcode.cn/problems/maximum-product-of-two-elements-in-an-array/ 给你一个整数数组 nums,请你选择数组的两个不同下标 i 和 j,使 (nums [i]-1)*(nums [j]-1) 取得最大值。 请你计算并返回该式的最大值。 示例 1:
输入:nums = [3,4,5,2]输出:12 解释:如果选择下标 i=1 和 j=2(下标从 0 开始),则可以获得最大值,(nums[1]-1)*(nums[2]-1) = (4-1)*(5-1) = 3*4 = 12 。
示例 2:
输入:nums = [1,5,4,5]输出:16解释:选择下标 i=1 和 j=3(下标从 0 开始),则可以获得最大值 (5-1)*(5-1) = 16 。
示例 3:
输入:nums = [3,7]输出:12
提示:
2 <= nums.length <= 5001 <= nums[i] <= 10^3
# 题解
解法一:数据最多是 500,而暴力求解时间复杂度是 \(O (n^2)\), 显然 ...
奇安信笔试
2022 年 08 月 25 日 19:00~21:00 单选题 20 道,不定项选择题 10 道,编程题 2 道 编程题: 一、找出有向无环图从顶点到终点的道路数。 二、根据给定的面积公式求出 n 个点中最大面积,要求时间复杂度和空间复杂度。
658. 找到 K 个最接近的元素
https://leetcode.cn/problems/find-k-closest-elements/ 给定一个 排序好 的数组 arr ,两个整数 k 和 x ,从数组中找到最靠近 x(两数之差最小)的 k 个数。返回的结果必须要是按升序排好的。 整数 a 比整数 b 更接近 x 需要满足: a - x < b - x 或者 a - x == b - x 且 a < b 示例 1:
输入:arr = [1,2,3,4,5], k = 4, x = 3输出:[1,2,3,4]
示例 2:
输入:arr = [1,2,3,4,5], k = 4, x = -1输出:[1,2,3,4]
提示:
1 <= k <= arr.length1 <= arr.length <= 104arr 按 升序 排列-104 <= arr[i], x <= 104
# 题解
解法一:按照题意进行排序,返回前 k 个,官方解法写的确实短。
class Solution {public: vector findClosestElements ...
1460. 通过翻转子数组使两个数组相等
https://leetcode.cn/problems/make-two-arrays-equal-by-reversing-sub-arrays/ 给你两个长度相同的整数数组 target 和 arr 。每一步中,你可以选择 arr 的任意 非空子数组 并将它翻转。你可以执行此过程任意次。 如果你能让 arr 变得与 target 相同,返回 True;否则,返回 False 。 示例 1:
输入:target = [1,2,3,4], arr = [2,4,1,3]输出:true解释:你可以按照如下步骤使 arr 变成 target:1- 翻转子数组 [2,4,1] ,arr 变成 [1,4,2,3]2- 翻转子数组 [4,2] ,arr 变成 [1,2,4,3]3- 翻转子数组 [4,3] ,arr 变成 [1,2,3,4]上述方法并不是唯一的,还存在多种将 arr 变成 target 的方法。
示例 2:
输入:target = [7], arr = [7]输出:true解释:arr 不需要做任何翻转已经与 target 相等。
示例 3:
输入:target = [3,7 ...
免费随机图片api接口网站
https://blog.csdn.net/SectSnow/article/details/115835711
782.变为棋盘
https://leetcode.cn/problems/transform-to-chessboard/
一个 n x n 的二维网络 board 仅由 0 和 1 组成 。每次移动,你能任意交换两列或是两行的位置。
返回 将这个矩阵变为 “棋盘” 所需的最小移动次数 。如果不存在可行的变换,输出 -1。
“棋盘” 是指任意一格的上下左右四个方向的值均与本身不同的矩阵。
示例 1:
输入: board = [[0,1,1,0],[0,1,1,0],[1,0,0,1],[1,0,0,1]]
输出: 2
解释:一种可行的变换方式如下,从左到右:
第一次移动交换了第一列和第二列。
第二次移动交换了第二行和第三行。
示例 2:
输入: board = [[0, 1], [1, 0]]
输出: 0
解释:注意左上角的格值为 0 时也是合法的棋盘,也是合法的棋盘.
示例 3:
输入: board = [[1, 0], [1, 0]]
输出: -1
解释:任意的变换都不能使这个输入变为合法的棋盘。
提示:
n == board.length
n == board ...