塔子哥刚刚开始学算法,遇到的第一个问题为A+B Problem,其内容如下:给定一个按升序排列的数组,以及一个数xxx,要求在数组中找到一对数{A,B}\{A,B\}{A,B},使得A+B=xA+B=xA+B=x。
判断数组中有没有两个元素的和为xxx。
可以使用哈希算法来解此题,从小到大枚举数组中的每一个数aia_iai,当枚举到aia_iai时,对其哈希后标记其出现过,然后求x−aix-a_ix−ai的哈希值,再判断x−aix-a_ix−ai是否已经被标记了,如果标记过,说明存在;否则,到枚举结束都没发现的话,就是不存在,按照题意输出即可。
本题属于以下题库,请选择所需题库进行购买
ScanQRCodePrompt
GoToPasswordLoginPrompt