如何搜索这个数组

时间:2014-02-05 18:56:34

标签: algorithm pseudocode

给定N个整数,编写一个算法(伪编码形式)来计算具有的整数对的整数 相差K. 输入 整数N,差K和元素列表。 产量 一个整数,表示具有不同K的对的数量。

1 个答案:

答案 0 :(得分:0)

这将完成工作:

   START
   # Variables Initialization
   init Decision = 'continue';
   init N = 0;
   init integers_array = array();

   # Getting the list of Integers
    Do{
      prompt "Insert an Integer";
      input inserted_int;
      integers_array.push(inserted_int);
      prompt "Choose: Done or continue?!";
      input Decision;
    }while not (Decision == 'continue'); 

   # Getting the Searched Difference
    prompt "Insert the searched difference:";
    input K;

   # Preparing the search phase
    N = count(integers_array);
    init pairs_counter = 0;

    # Make a double loop on the same Integers array, and increment the counter when find          
      pairs, every pair will be counted twice!
    foreach (int i=0; i<N; i++){
       foreach (int j=0; j<N; j++){
           if (absolute(integers_array[i] - integers_array[j]) == K){
              pairs_counter++;
           }
       }
    }

    # Divide by two to get the real number of Pairs
    true_pairs_counter = pairs_counter/2;

    output true_pairs_counter;

   END