尝试 Leetcode(二)

4.26

Jewels and Stones

给定字符串 J 代表石头中宝石的类型,和字符串 S 代表你拥有的石头。 S 中每个字符代表了一种你拥有的石头的类型,你想知道你拥有的石头中有多少是宝石。J 中的字母不重复,J 和 S 中的所有字符都是字母。字母区分大小写,因此 a 和 A 是不同类型的石头。

尝试解法
class Solution
{
    /**
     * @param String $J
     * @param String $S
     * @return Integer
     */
    function numJewelsInStones($J, $S)
    {
        $count = 0;
        foreach (str_split($S) as $s) {
            foreach (str_split($J) as $j) {
                if ($s === $j) {
                    $count++;
                    break;
                }
            }
        }
        return $count;
    }
}

4.23

Min Stack

设计一个支持 push,pop,top 操作,并能在常数时间内检索到最小元素的栈。

  • push(x) -- 将元素 x 推入栈中。
  • pop() -- 删除栈顶的元素。
  • top() -- 获取栈顶元素。
  • getMin() -- 检索栈中的最小元素。
尝试解法
class MinStack
{

    protected $stack;

    /**
     * initialize your data structure here.
     */
    function __construct()
    {
        $this->stack = [];
    }

    /**
     * @param Integer $x
     * @return NULL
     */
    function push($x)
    {
        $this->stack[] = $x;
    }

    /**
     * @return NULL
     */
    function pop()
    {
        array_pop($this->stack);
    }

    /**
     * @return Integer
     */
    function top()
    {
        return end($this->stack);
    }

    /**
     * @return Integer
     */
    function getMin()
    {
        return min($this->stack);
    }
}
本作品采用《CC 协议》,转载必须注明作者和本文链接
Hello。
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!