Решения LeetCode - Страница 3
1672. Richest Customer Wealth
JuniorОписание: Решение задачи LeetCode "richest-customer-wealth" на PHP.
Код:
class Solution {
/**
* @param Integer[][] $accounts
* @return Integer
*/
function maximumWealth($accounts) {
$rs = 0;
for ($i = 0; $i < count($accounts); $i++) {
$sum = 0;
for ($j = 0; $j < count($accounts[$i]); $j++) {
$sum += $accounts[$i][$j];
}
if ($sum > $rs) {
$rs = $sum;
}
}
return $rs;
}
}
1704. Determine if String Halves Are Alike
JuniorОписание: Решение задачи LeetCode "determine-if-string-halves-are-alike" на PHP.
Код:
class Solution {
/**
* @param String $s
* @return Boolean
*/
function halvesAreAlike($s) {
$n = strlen($s) / 2;
$vowels = ['a', 'e', 'i', 'o', 'u', 'A', 'E', 'I', 'O', 'U'];
$cnt = 0;
for ($i = 0; $i < $n; $i++) {
if (in_array($s[$i], $vowels)) {
$cnt++;
}
if (in_array($s[$i + $n], $vowels)) {
$cnt--;
}
}
return $cnt == 0;
}
}
1732. Find the Highest Altitude
JuniorОписание: Решение задачи LeetCode "find-the-highest-altitude" на PHP.
Код:
class Solution {
/**
* @param Integer[] $gain
* @return Integer
*/
function largestAltitude($gain) {
$max = 0;
for ($i = 0; $i < count($gain); $i++) {
$tmp += $gain[$i];
if ($tmp > $max) {
$max = $tmp;
}
}
return $max;
}
}
1748. Sum of Unique Elements
JuniorОписание: Решение задачи LeetCode "sum-of-unique-elements" на PHP.
Код:
class Solution {
/**
* @param Integer[] $nums
* @return Integer
*/
function sumOfUnique($nums) {
$sum = 0;
for ($i = 0; $i < count($nums); $i++) {
$hashtable[$nums[$i]] += 1;
if ($hashtable[$nums[$i]] == 1) {
$sum += $nums[$i];
}
if ($hashtable[$nums[$i]] == 2) {
$sum -= $nums[$i];
}
}
return $sum;
}
}
1876. Substrings of Size Three with Distinct Characters
JuniorОписание: Решение задачи LeetCode "substrings-of-size-three-with-distinct-characters" на PHP.
Код:
class Solution {
/**
* @param String $s
* @return Integer
*/
function countGoodSubstrings($s) {
$ans = 0;
$n = strlen($s);
$l = 0;
$r = 0;
$mask = 0;
while ($r < $n) {
$x = ord($s[$r]) - ord('a');
while (($mask >> $x) & 1) {
$y = ord($s[$l++]) - ord('a');
$mask ^= 1 << $y;
}
$mask |= 1 << $x;
if ($r - $l + 1 >= 3) {
$ans++;
}
$r++;
}
return $ans;
}
}
1941. Check if All Characters Have Equal Number of Occurrences
JuniorОписание: Решение задачи LeetCode "check-if-all-characters-have-equal-number-of-occurrences" на PHP.
Код:
class Solution {
/**
* @param String $s
* @return Boolean
*/
function areOccurrencesEqual($s) {
$cnt = array_fill(0, 26, 0);
for ($i = 0; $i < strlen($s); $i++) {
$cnt[ord($s[$i]) - ord('a')]++;
}
$v = 0;
foreach ($cnt as $x) {
if ($x == 0) {
continue;
}
if ($v && $v != $x) {
return false;
}
$v = $x;
}
return true;
}
}
1945. Sum of Digits of String After Convert
JuniorОписание: Решение задачи LeetCode "sum-of-digits-of-string-after-convert" на PHP.
Код:
class Solution {
/**
* @param String $s
* @param Integer $k
* @return Integer
*/
function getLucky($s, $k) {
$rs = '';
for ($i = 0; $i < strlen($s); $i++) {
$num = ord($s[$i]) - 96;
$rs = $rs . strval($num);
}
while ($k != 0) {
$sum = 0;
for ($j = 0; $j < strlen($rs); $j++) {
$sum += intval($rs[$j]);
}
$rs = strval($sum);
$k--;
}
return intval($rs);
}
}
1957. Delete Characters to Make Fancy String
JuniorОписание: Решение задачи LeetCode "delete-characters-to-make-fancy-string" на PHP.
Код:
class Solution {
/**
* @param String $s
* @return String
*/
function makeFancyString($s) {
$ans = '';
for ($i = 0; $i < strlen($s); $i++) {
$c = $s[$i];
if ($i < 2 || $c !== $s[$i - 1] || $c !== $s[$i - 2]) {
$ans .= $c;
}
}
return $ans;
}
}
1984. Minimum Difference Between Highest and Lowest of K Scores
JuniorОписание: Решение задачи LeetCode "minimum-difference-between-highest-and-lowest-of-k-scores" на PHP.
Код:
class Solution {
/**
* @param Integer[] $nums
* @param Integer $k
* @return Integer
*/
function minimumDifference($nums, $k) {
sort($nums);
$ans = 10 ** 5;
for ($i = 0; $i < count($nums) - $k + 1; $i++) {
$ans = min($ans, $nums[$i + $k - 1] - $nums[$i]);
}
return $ans;
}
}
2000. Reverse Prefix of Word
JuniorОписание: Решение задачи LeetCode "reverse-prefix-of-word" на PHP.
Код:
class Solution {
/**
* @param String $word
* @param String $ch
* @return String
*/
function reversePrefix($word, $ch) {
$len = strlen($word);
$rs = '';
for ($i = 0; $i < $len; $i++) {
$rs = $rs . $word[$i];
if ($word[$i] == $ch) {
break;
}
}
if (strlen($rs) == $len && $rs[$len - 1] != $ch) {
return $word;
}
$rs = strrev($rs);
$rs = $rs . substr($word, strlen($rs));
return $rs;
}
}
2068. Check Whether Two Strings are Almost Equivalent
JuniorОписание: Решение задачи LeetCode "check-whether-two-strings-are-almost-equivalent" на PHP.
Код:
class Solution {
/**
* @param String $word1
* @param String $word2
* @return Boolean
*/
function checkAlmostEquivalent($word1, $word2) {
for ($i = 0; $i < strlen($word1); $i++) {
$hashtable[$word1[$i]] += 1;
$hashtable[$word2[$i]] -= 1;
}
$keys = array_keys($hashtable);
for ($j = 0; $j < count($keys); $j++) {
if (abs($hashtable[$keys[$j]]) > 3) {
return false;
}
}
return true;
}
}