做渠道该从哪些网站入手程序员和软件开发的区别
做渠道该从哪些网站入手,程序员和软件开发的区别,网站规划说明书,免费建网站的2824. 统计和小于目标的下标对数目
2824. 统计和小于目标的下标对数目
代码仓库地址#xff1a; https://github.com/slience-me/Leetcode
个人博客 #xff1a;https://slienceme.xyz
给你一个下标从 0 开始长度为 n 的整数数组 nums 和一个整数 target #xff0c;请你…2824. 统计和小于目标的下标对数目
2824. 统计和小于目标的下标对数目
代码仓库地址 https://github.com/slience-me/Leetcode
个人博客 https://slienceme.xyz
给你一个下标从 0 开始长度为 n 的整数数组 nums 和一个整数 target 请你返回满足 0 i j n 且 nums[i] nums[j] target 的下标对 (i, j) 的数目。
示例 1
输入nums [-1,1,2,3,1], target 2
输出3
解释总共有 3 个下标对满足题目描述
- (0, 1) 0 1 且 nums[0] nums[1] 0 target
- (0, 2) 0 2 且 nums[0] nums[2] 1 target
- (0, 4) 0 4 且 nums[0] nums[4] 0 target
注意 (0, 3) 不计入答案因为 nums[0] nums[3] 不是严格小于 target 。示例 2
输入nums [-6,2,5,-2,-7,-1,3], target -2
输出10
解释总共有 10 个下标对满足题目描述
- (0, 1) 0 1 且 nums[0] nums[1] -4 target
- (0, 3) 0 3 且 nums[0] nums[3] -8 target
- (0, 4) 0 4 且 nums[0] nums[4] -13 target
- (0, 5) 0 5 且 nums[0] nums[5] -7 target
- (0, 6) 0 6 且 nums[0] nums[6] -3 target
- (1, 4) 1 4 且 nums[1] nums[4] -5 target
- (3, 4) 3 4 且 nums[3] nums[4] -9 target
- (3, 5) 3 5 且 nums[3] nums[5] -3 target
- (4, 5) 4 5 且 nums[4] nums[5] -8 target
- (4, 6) 4 6 且 nums[4] nums[6] -4 target提示
1 nums.length n 50-50 nums[i], target 50
方案1暴力解 第一种纯暴力解遍历替换 class Solution {
public:int countPairs(vectorint nums, int target) {int sum0;for (int i 0; i nums.size(); i){for (int j i1; j nums.size(); j){if (i j nums[i]nums[j]target){sum1;}}}return sum;}
};执行用时分布 4ms 击败89.43%使用 C 的用户 消耗内存分布20.30MB 击败15.83%使用 C 的用户 方案2 优化采用类似快排的方法进行计数 你可以使用双指针的方法来解决这个问题。首先对数组进行排序然后使用双指针一个指向数组的开头另一个指向数组的末尾逐步向中间移动并计算对应的数对满足条件的数量。 class Solution {
public:int countPairs(vectorint nums, int target) {// [-6,2,5,-2,-7,-1,3]sort(nums.begin(), nums.end());//先排序int ans 0, left 0, right nums.size() - 1; //定义左索引,定义右索引while (left right) { //快排常见的条件 左侧索引右侧索引// [-7,-6,-2,-1,2,3,5]// -7 5 -2 -2 right--// -7 3 -4 -2if (nums[left] nums[right] target) { ans right - left; //增加全部满足条件的个数left;} else {right--;}}return ans;}
};执行用时分布 0ms 击败100.00%使用 C 的用户 消耗内存分布 20.39MB 击败7.44%使用 C 的用户
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/87073.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!