讀入乙個有n個數的整形陣列,並給出乙個和值sum,判斷是否存在兩個數字使得它們的和為sum。
輸入資料報括兩行:
第一行兩個整數n(1 ≤ n ≤ 1000),sum(1 ≤ sum ≤ 10 ^ 9)
第二行n個整數,範圍均在32位整數內,以空格分隔
如果找到和值為某值的兩個數,輸出兩個數字的下標(陣列下標從0開始),如果有多解,輸出第乙個數下標最小的那個解;否則輸出false
輸入6 9
2 3 5 6 7 10
輸出0 4
這道題主要是用到map來進行輔助儲存,利用key和value查詢的快捷,可以很快速的通過知道a[i]和sum,來找出那個sum-a[i]。詳情請看**注釋。
c++**如下:
#include
#include
using
namespace std;
intmain()
for(i=
0;i(differ.
count
(sum-a[i]))
//當用sum減去陣列中的乙個元素時,尋找剩下的差值在map中是否存在,
break
;//如果存在則這個數在map中的value就是這個數在陣列中的下標
if(i==n)
cout<<
"false"
cout<" "<]<}
刪除List中的非數字元素
由於list的非執行緒安全特性,在遍歷list的過程中,隨意刪除某個元素是一件很危險的事情,所以在寫 hello world 的時候需要注意一下.function 1.0 使用pattern類可以匹配正規表示式 pattern pattern pattern.compile 0 9 boolean ...
Python 關於set的數字元素的順序問題
無序的這個是str.isspace,看似有序的是str.isascii,除了shell輸入set的變數,是有序顯示,但是無論是str 還是repr 還是list 並非順序顯示 print d isspace print d isascii s isspace r set f eval str.s s...
找出陣列中指定元素的所有下標位置
a.不允許在方法內列印展示 b.考慮多個資料情況 c.需要在方法外獲取到下標資料資訊 d.不允許使用陣列作為返回值 e.乙個方法完成 public class homework2 int indexes newint arr.length 接受方法的返回值,得到的數查詢目標資料的個數 int cou...