Codxplore.com

Latest news:

Sahih al-Bukhari (সহীহ বুখারী) is a free Hadith application for android. This application is advertisement free. Download now https://play.google.com/store/apps/details?id=com.akramhossin.bukharisharif

Hacker Rank: Day 14: Scope


Hacker Rank: Day 14: Scope

Objective

Today we’re discussing scope.

The absolute difference between two integers, a and b, is written as |a – b|. The maximum absolute difference between two integers in a set of positive

integers, elements, is the largest absolute difference between any two integers in elements.

The Difference class is started for you in the editor. It has a private integer array (elements) for storing N non-negative integers, and a public integer

(maximumDifference) for storing the maximum absolute difference.   

Task

Complete the Difference class by writing the following:

  •  A class constructor that takes an array of integers as a parameter and saves it to the _elements instance variable.
       
  • A computeDifference method that finds the maximum absolute difference between any 2 numbers in _elements and stores it in the maximumDifference instance variable.

Input Format

You are not responsible for reading any input from stdin. The locked Solution class in the editor reads in 2 lines of input.

The first line contains N, the size of the elements array. The second line has N space-separated integers that describe the _elements array.

Constraints

    1 N 10
    1 _elements[i] <= 100, where 0 i N – 1

Output Format

You are not responsible for printing any output; the Solution class will print the value of the maximumDifference instance variable.

Sample Input

STDIN   Function
-----   --------
3       __elements[] size N = 3
1 2 5   __elements = [1, 2, 5]

Sample Output

4

Explanation

The scope of the _elements array and maximumDifference integer is the entire class instance. The class constructor saves the argument passed to the

constructor as the _elements instance variable (where the computeDifference method can access it).

To find the maximum difference, computeDifference checks each element in the array and finds the maximum difference between any 2 elements:

|1 – 2| = 1
|1 – 5| = 4
|2 – 5| = 3

The maximum of these differences is 4, so it saves the value 4 as the maximumDifference instance variable. The locked stub code in the editor then prints

the value stored as maximumDifference, which is 4.

Solution – Day 14: Scope 

PHP Solution:

// Write your code here
    public function __construct($elements) {
        $this->elements = $elements;
    }
    
    public function ComputeDifference() {
        $maxVal = 0;
        for ($i = 0; $i < count($this->elements); $i++) {
            for ($j = 0; $j < count($this->elements); $j++) {
                if ($this->elements[$i] < $this->elements[$j]) {
                    $diff = $this->elements[$j] - $this->elements[$i];
                } else {
                    $diff = $this->elements[$i] - $this->elements[$j];
                }
                if ($diff > $maxVal) {
                    $maxVal = $diff;
                }
            }
        }
        $this->maximumDifference = $maxVal;
    }
Tags : hackerRank, Linux, PHP,

Views : 828

Subscribe Us


Follow Us