class Solution { public: vector<int> twoSum(vector<int>& nums, int target) { int n = nums.size(); for (int i = 0; i < n; ++i) { for (int j = i + 1; j < n; ++j) { if (nums[i] + nums[j] == target) { return {i, j}; } } } return {}; } };
时间: 2024-02-14 11:26:51 浏览: 116
创建一个int型的数组对象-达内java教程
这是一个求两数之和的问题。给定一个整数数组nums和一个目标值target,你需要在数组中找到两个数,使得它们的和等于target,并返回这两个数的索引。
这段代码是使用两层循环来遍历数组中的元素,并检查每对元素的和是否等于目标值。如果找到了满足条件的两个数,就返回它们的索引。如果遍历完整个数组仍然没有找到满足条件的数对,则返回一个空数组。
需要注意的是,这个解法的时间复杂度是O(n^2),其中n是数组的长度。在较大的输入规模下,性能可能不太理想。是否有其他解法可以优化时间复杂度呢?
阅读全文