leetcode_167两数之和II

news/2024/10/18 8:38:18/

1. 题目

两数之和II

2. 题意

有序数组,找到两数和为一固定值的两数下标。要求只能用到常数的空间。

3. 题解

与两数之和的区别是排好序了,且不能用额外的空间。即不能使用哈希表了,二重循环时间复杂度会超。

3.1 二分

固定指针左端,二分查找指针右端

class Solution {
public:vector<int> twoSum(vector<int>& numbers, int target) {vector<int> res;int sz = numbers.size();for ( int i = 0; i < sz - 1; ++i) {int l = i + 1;int r = sz - 1;if ( numbers[i] + numbers[r] < target)continue;int fVal = target - numbers[i];while ( l <= r) {int mid = (l + r) >> 1;if ( fVal > numbers[mid])l = mid + 1;else if ( fVal < numbers[mid])r = mid - 1;else {res = { i + 1, mid + 1};break;}}if ( res.size())break;}return res;}
};

3.2 双指针

左指针在最左端,右指针在右端;
和大于指定值则左移右指针,小于则右移左指针。

class Solution {
public:vector<int> twoSum(vector<int>& numbers, int target) {int l = 0;int r = numbers.size() -1;while ( l < r) {if ( numbers[l] + numbers[r] > target) {r--;}else if (numbers[l] + numbers[r] < target) {l++;}else {return { l + 1, r + 1};break;}}return {};}
};

http://www.ppmy.cn/news/950469.html

相关文章

chatgpt输出长度有限制,如何解决

如果您想要在 ChatGPT 中输出更长的文本&#xff0c;可以考虑使用多次调用API&#xff0c;将结果进行拼接。您可以根据需要分割您的文本&#xff0c;分成多个部分&#xff0c;并且每次调用API时&#xff0c;将前一个调用的结果中的最后一句话作为下一个调用的输入&#xff0c;这…

怎么使用ChatGPT

要使用ChatGPT&#xff0c;您可以通过与它交互来完成您的询问和任务。您只需要在输入框中输入您的问题或请求&#xff0c;然后提交即可。ChatGPT将尽力回答您的问题或完成您的请求。 例如&#xff0c;您可以询问ChatGPT关于历史、科学、文化等方面的知识&#xff0c;或者请求Ch…

公有云和ChatGPT关系不大

前段时间要过年、休养身体&#xff0c;写长篇&#xff0c;所以公众号停更了两个月。 本文解释了AI云为什么不会成为云厂商的重要营收途径&#xff0c;延伸分析了一些云产品的本质。 1. 流量密码不是财富密码 这两个月才突然热议ChatGPT的朋友&#xff0c;其实技术嗅觉有点迟钝、…

关于chatGPT专栏

这边已经受到了限制&#xff0c;关于gpt的内容文章已经被下架了众多 所以我关于gpt的文章只能在微信公众号里面查看&#xff0c; 还有许多新的文章是在此平台没有发过的&#xff0c;所以想了解关于chatgpt的文章&#xff0c;可以关注我文章下面的公众号。

ChatGPT的一些有趣用法

ChatGPT指令 可以在这里找一些有趣的指令: awesome-chatgpt-prompts 使其想象自己是终端 I want you to act as a Linux terminal. I will type commands and you will reply with what the terminal should show. I want you to only reply with the terminal output insid…

知识背景工具革新登场!突破ChatGPT限制,零微调成本!

在您的需求中&#xff0c;我们非常荣幸为您推介一款创新的知识背景工具&#xff0c;为您带来全新的智能体验&#xff01;它不仅通过对大量专业知识进行解析&#xff0c;保证语义不被拆分&#xff0c;还突破了ChatGPT输入限制&#xff0c;无需微调庞大模型的巨大花销。此外&…

ChatGPT初步了解

ChatGPT 是 InstructGPT 的同级模型&#xff0c;它经过训练可以按照提示中的说明进行操作并提供详细的响应。 InstructGPT论文&#xff1a;https://arxiv.org/pdf/2203.02155.pdf InstructGPT怎么准备和标记数据集&#xff1a;https://harryliu.blog.csdn.net/article/detail…

chatgpt和openai RateLimit(api使用速率限制)介绍

OpenAI的API提供商在API使用方面有一些限制和规定&#xff0c;其中之一就是限制API的使用速率&#xff0c;以避免滥用和过度消耗资源。这种限制称为速率限制&#xff08;Rate Limit&#xff09;&#xff0c;是许多API服务提供商都采用的一种机制。 OpenAI的速率限制规定了每个…