尝试 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。
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

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