首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

最少移动次数使数组元素相等

最少移动次数使数组元素相等 1. 题目描述 给定一个非空整数数组,找到使所有数组元素相等所需的最小移动数,其中每次移动可将选定的一个元素加1或减1。您可以假设数组的长度最多为10000。...题解 这道题偏数学一点,我们从常理推论的角度去想,如果要找到使所有数组元素相等的最小移动数。那么这个元素就是数组其他元素离它距离之和最近的数,这个元素就是数组中的中位数。...2.1 解题步骤 对数组元素进行排序 找到中位数 遍历数组,计算所有元素中位数的距离 累加距离,即可得到目标值。...int[] nums) { // 对数组进行排序 Arrays.sort(nums); int result = 0; // 遍历数组,计算中位数的距离

44630
您找到你想要的搜索结果了吗?
是的
没有找到

js中的相等相等

在转换不同的数据类型时,相等和不相等操作符遵循下列基本规则: 如果有一个操作数是布尔值,则在比较相等性之前先将其转换为数值——false 转换为0,而 true 转换为1; 如果一个操作数是字符串,另一个操作数是数值...,在比较相等性之前先将字符串转换为数值; 如果一个操作数是对象,另一个操作数不是,则调用对象的valueOf()方法,用得到的基本类 型值按照前面的规则进行比较; null 和undefined 是相等的...要比较相等性之前,不能将null 和undefined 转换成其他任何值。 如果有一个操作数是NaN,则相等操作符返回false,而不相等操作符返回true。...重要提示: 即使两个操作数都是NaN,相等操作符也返回false;因为按照规则,NaN 不等于NaN。 如果两个操作数都是对象,则比较它们是不是同一个对象。...如果两个操作数都指向同一个对象, 则相等操作符返回true;否则,返回false。

1.8K51

通过最少操作次数使数组的和相等(难度:中等)

请你返回使 nums1 中所有数的和 nums2 中所有数的和相等的最少操作次数。如果无法使两个数组的和相等,请返回 -1。...二、示例 2.1> 示例 1: 【输入】nums1 = [1,2,3,4,5,6], nums2 = [1,1,2,2,2,2] 【输出】3 【解释】你可以通过 3 次操作使 nums1 中所有数的和...2.2> 示例 2: 【输入】nums1 = [1,1,1,1,1,1,1], nums2 = [6] 【输出】-1 【解释】没有办法减少 nums1 的和或者增加 nums2 的和使二者相等。...2.3> 示例 3: 【输入】nums1 = [6,6], nums2 = [1] 【输出】3 【解释】你可以通过 3 次操作使 nums1 中所有数的和 nums2 中所有数的和相等。...l2 = nums2.length, sum1 = 0, sum2 = 0, diff; if (6 * l1 < l2 || 6 * l2 < l1) return -1; // 无法使两个数组的和相等

17810
领券