给定一个大整数列表(超过1 000 000个值),找到选择其中两个加起来为0的方法有多少....是问题
我所做的是创建一个正的随机整数列表:
Random pos = new Random();
int POSNO = pos.Next(1, 1000000);
lstPOS.Items.Add(POSNO);
lblPLus.Text = lstPOS.Items.Count.ToString();
POSCount++;
Run Code Online (Sandbox Code Playgroud)
并创建了一个否定列表:
Random neg = new Random();
int NEGNO = neg.Next(100000, 1000000);
lstNEG.Items.Add("-" + NEGNO);
lblNegative.Text = lstNEG.Items.Count.ToString();
NegCount++;
Run Code Online (Sandbox Code Playgroud)
做我正在使用的总和检查:
foreach (var item in lstPOS.Items)
{
int POSItem = Convert.ToInt32(item.ToString());
foreach (var negItem in lstNEG.Items)
{
int NEGItem = Convert.ToInt32(negItem.ToString());
int Total = POSItem - NEGItem;
if (Total == 0)
{
lstADD.Items.Add(POSItem + "-" + NEGItem + "=" + Total);
lblAddition.Text = …Run Code Online (Sandbox Code Playgroud)