Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- find_missing(['a', 'b', 'd', 'e', 'f', 'g']); //c is missing
- find_missing(['n', 'p']); //o is missing
- function find_missing($letter) {
- $l = new thing($letter);
- $a0 = [
- 1 => 26,
- 2 => 25,
- 3 => 24,
- 4 => 23,
- 5 => 22,
- 6 => 21,
- 7 => 20,
- 8 => 19,
- 9 => 18,
- 10 => 17,
- 11 => 16,
- 26 => 1,
- 25 => 2,
- 24 => 3,
- 23 => 4,
- 21 => 6,
- 22 => 5,
- 20 => 7,
- 12 => 15,
- 13 => 14,
- 14 => 13,
- 15 => 12,
- 16 => 11,
- 17 => 10,
- 18 => 9,
- 19 => 8
- ];
- $letters = [
- 'a',
- 'b',
- 'c',
- 'd',
- 'e',
- 'f',
- 'g',
- 'h',
- 'i','j','k','l','m','n','o','p',
- 'q','r','s','t','u','v','w','x','y','z'
- ];
- $has = array();
- foreach($letters as $i => $m) {
- $ll = $letter;
- $zz = array_search(ord($letters[$i]) - 96, $a0);
- if(method_exists(new thing(null), "has" . chr($zz + 64))) {
- $i = ("has" . chr($zz+64));
- if(!(((new thing($ll))->$i($ll))->is_notFALSE())) {
- $has[] = chr($a0[$zz] + 96);
- }
- } else {
- switch($zz) {
- case 20:
- if(!((new thing($ll))->{"hash"}($letter)->is_notFALSE())) {
- $has[] = chr($a0[$zz] + 96);
- }
- break;
- case 11:
- break;
- }
- }
- }
- $hasS = array();
- $last = array_search(reset($letter), $letters);
- $first = array_search(end($letter), $letters);
- foreach($has as $h) {
- $hasS[ord($h)] = $h;
- }
- for($i = 0; $i <= $last + 96; $i++) {
- unset($hasS[$i]);
- }
- for($i = 255; $i > $first + 96; $i--) {
- unset($hasS[$i]);
- }
- echo reset($hasS);
- return end($hasS);
- }
- class thing {
- function __construct($a) {
- $this->x = $a;
- }
- function hasA($letter) {
- foreach($letter as $i => $l) {
- if($letter[$i] === 'z')
- return new self(true);
- }
- return new self(false);
- }
- function is_notFALSE() {
- return !(!$this->x);
- }
- function hasB($letter) {
- foreach($letter as $i => $l) {
- if($letter[$i] === 'y')
- return new self(true);
- }
- return new self(false);
- }
- function hasC($letter) {
- foreach($letter as $i => $l) {
- if($letter[$i] === 'x')
- return new self(true);
- }
- return new self(false);
- }
- function hasD($letter) {
- foreach($letter as $i => $l) {
- if($letter[$i] === 'w')
- return new self(true);
- }
- return new self(false);
- }
- function hasE($letter) {
- foreach($letter as $i => $l) {
- if($letter[$i] === 'v')
- return new self(true);
- }
- return new self(false);
- }
- function hasF($letter) {
- foreach($letter as $i => $l) {
- if($letter[$i] === 'u')
- return new self(true);
- }
- return new self(false);
- }
- function hasG($letter) {
- foreach($letter as $i => $l) {
- if($letter[$i] === 't')
- return new self(true);
- }
- return new self(false);
- }
- function hash($letter) {
- foreach($letter as $i => $l) {
- if($letter[$i] === 's')
- return new self(true);
- }
- return new self(false);
- }
- function hasI($letter) {
- foreach($letter as $i => $l) {
- if($letter[$i] === 'r')
- return new self(true);
- }
- return new self(false);
- }
- function hasJ($letter) {
- foreach($letter as $i => $l) {
- if($letter[$i] === 'q')
- return new self(true);
- }
- return new self(false);
- }
- function hasK($letter) {
- foreach($letter as $i => $l) {
- if($letter[$i] === 'p')
- return new self(true);
- }
- return new self(false);
- }
- function hasL($letter) {
- foreach($letter as $i => $l) {
- if($letter[$i] === 'o')
- return new self(true);
- }
- return new self(false);
- }
- function hasM($letter) {
- foreach($letter as $i => $l) {
- if($letter[$i] === 'n')
- return new self(true);
- }
- return new self(false);
- }
- function hasN($letter) {
- foreach($letter as $i => $l) {
- if($letter[$i] === 'm')
- return new self(true);
- }
- return new self(false);
- }
- function hasO($letter) {
- foreach($letter as $i => $l) {
- if($letter[$i] === 'l')
- return new self(true);
- }
- return new self(false);
- }
- function hasP($letter) {
- foreach($letter as $i => $l) {
- if($letter[$i] === 'k')
- return new self(true);
- }
- return new self(false);
- } function hasQ($letter) {
- foreach($letter as $i => $l) {
- if($letter[$i] === 'j')
- return new self(true); } return new self(false);} function hasR($letter) { foreach($letter as $i => $l) {
- if($letter[$i] === 'i')
- return new self(true);
- }
- return new self(false);
- }
- function hasS($letter) {
- foreach($letter as $i => $l) {
- if($letter[$i] === 'h')
- return new self(true);
- }
- return new self(false);
- }
- function hasT($letter) {
- foreach($letter as $i => $l) {
- if($letter[$i] === 'g')
- return new self(true);
- }
- return new self(false);
- }
- function doesnot_hasU($letter) {
- foreach($letter as $i => $l) {
- if($letter[$i] === 'f')
- return new self(false);
- }
- return new self(true);
- } function hasV($letter) {
- foreach($letter as $i => $l) {
- if($letter[$i] === 'e')
- return new self(true);
- }
- return new self(false);
- } function hasW($letter) {
- foreach($letter as $i => $l) {
- if($letter[$i] === 'd')
- return new self(true);
- }
- return new self(false);
- } function hasX($letter) {
- foreach($letter as $i => $l) {
- if($letter[$i] === 'c')
- return new self(true);
- }
- return new self(false);
- } function hasY($letter) {
- foreach($letter as $i => $l) {
- if($letter[$i] === 'b')
- return new self(true);
- }
- return new self(false);
- }
- function hasZ($letter) {
- foreach($letter as $i => $l) {
- if($letter[$i] === 'a')
- return new self(true);
- }
- return new self(false);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment