C++ LeetCode TwoSum解决方案不起作用 #包括 #包括 #包括 内部存储箱(内部*p、内部lo、内部hi、内部t) {//二进制搜索 int-mid=0; int c=0; 如果(lop[中间]) 垃圾箱(p、mid+1、hi、t); else if(t)

C++ LeetCode TwoSum解决方案不起作用 #包括 #包括 #包括 内部存储箱(内部*p、内部lo、内部hi、内部t) {//二进制搜索 int-mid=0; int c=0; 如果(lop[中间]) 垃圾箱(p、mid+1、hi、t); else if(t),c++,arrays,search,initialization,binary-search,C++,Arrays,Search,Initialization,Binary Search,您正在分配数组。请检查符号 此外,还将关键字用作变量。(bool) 你做了什么 int* numbers=new int[k];////allocates an array of k adjacent integers. (undefined values) Leetcode没有给出精确的代码。它会有语法错误或编译错误。您必须修复它们才能使其正常工作。在这种情况下,以下是问题: int *numbers=new int(k);////allocates an integer, set to k

您正在分配数组。请检查符号

此外,还将关键字用作变量。(
bool

你做了什么

int* numbers=new int[k];////allocates an array of k adjacent integers. (undefined values)

Leetcode没有给出精确的代码。它会有语法错误或编译错误。您必须修复它们才能使其正常工作。在这种情况下,以下是问题:

int *numbers=new int(k);////allocates an integer, set to k. (same syntax as constructors)

另一件事是,
bool
是一个关键字,用于为变量提供
true
false
。您必须使用另一个变量。

您的复杂性从何而来?哈希表查找平均为常量(最坏情况下为线性),二进制搜索为对数。
int *numbers=new int(k);////allocates an integer, set to k. (same syntax as constructors)
int* numbers=new int[k]; //not int* numbers=new int(k);