设计模式 02 工厂模式
如果需要创建一个对象,最简单的方式就是直接 new 一个。而工厂模式代替了传统的直接 new 的形式,那么为什么要替代呢?如果所有的对象都通过 new 的方式去创建,那么当程序中大量使用此对象时,突然有一天这个对象的构造方法或是类名发生了修改,那就得逐个去进行修改。
2024-04-06
设计模式之适配器模式
适配器模式:将一个类的接口转换为客户期望的另一个接口。适配器让原本接口不兼容的类可以合作无间。 场景:水果店卖有橘子和苹果,橘子用橘子包装盒,苹果用苹果包装盒,顾客A来买橘子,但是没有橘子包装盒了,则用苹果包装盒暂时替代一下。 {代码...} 测试代码如下: main方法里面,new一个橘子,再获取一个橘子包装实...
2019-05-19
css实现二级菜单
不多废话,先上预览[链接]这一次还是使用<input type="checkbox">的选中与否来实现展开、收起二级菜单的。 第一步:初始化 默认二级菜单的li高度为0 选择一级菜单时,将二级菜单高度设置为20px 这样设置是为了方便我们以后添加动画效果 html {代码...} css {代码...} 效果图 第二步:选中checkbox时展开二级菜单,...
LeetCode 腐烂的橘子
腐烂的橘子 题目来源:[[链接]]([链接]) 题目 在给定的网格中,每个单元格可以有以下三个值之一: 值 0 代表空单元格;值 1 代表新鲜橘子;值 2 代表腐烂的橘子。每分钟,任何与腐烂的橘子(在 4 个正方向上)相邻的新鲜橘子都会腐烂。 返回直到单元格中没有新鲜橘子为止所必须经过的最小分钟数。如果不可能,返回 -1。 ...
2020-03-04
Leetcode994. 腐烂的橘子 Python实现
题目要求: 思路: 维护一个cur用来保存当前的烂橘子 遍历一遍给定的数组,如果是烂橘子,把横纵坐标append到cur数组中 定义一个time用来保存时间 使用while循环遍历cur,当cur中还有元素时,继续循环,cur中存放的是烂橘子的数组下标,遍历这些烂橘子,遍历每个烂橘子的时候再遍历这个烂橘子的上下左右四个格子,如果有...
2020-07-16
LeetCode | 0994. Rotting Oranges腐烂的橘子【Python】
LeetCode 0994. Rotting Oranges腐烂的橘子【Easy】【Python】【BFS】 Problem LeetCode In a given grid, each cell can have one of three values: the value 0 representing an empty cell; the value 1 representing a fresh orange; the value 2 representing a rotten orange. Every minute, any fresh orange tha...
2020-03-04
PHP 工厂模式,依赖注入与控制反转
假设有商人开水果摊。我们把水果摊用如下类表示: {代码...} 水果摊会贩卖很多不同的水果,因为每一种水果都有独特的属性,所以每一种水果我们也可以单独用类表示。比如:苹果 {代码...} 再比如:柠檬 {代码...} 现在,一个水果摊开张了。 {代码...} 这个时候就能发现依赖产生了。什么是依赖:就是 “我若依赖你,少了你...
Leetcode994腐烂的橘子(广度搜索法)
Leetcode994腐烂的橘子在给定的 m x n 网格 grid 中,每个单元格可以有以下三个值之一:值 0 代表空单元格;值 1 代表新鲜橘子;值 2 代表腐烂的橘子。每分钟,腐烂的橘子 周围 4 个方向上相邻 的新鲜橘子都会腐烂。答题: {代码...} 重点是有些特殊情况要处理下,比如没有坏橘子的时候返回啥,没有好橘子的时候返回啥,...
2022-03-10
PHP 门面设计模式
提供一个统一的接口去访问多个子系统的多个不同的接口,它为子系统中的一组接口提供一个统一的高层接口。使用子系统更容易使用。本质:就是化零为整;引入一个中介类,把各个分散的功能组合成一个整体,只对外暴露一个统一的接口。
2020-03-18
答案——腐烂的橘子算法题目
假如一个M x M 格子的盒子里有 n (n > 0)个新鲜橘子,有 m 个烂橘子。每隔一分钟我们去这个盒子里面数一数,直到烂橘子没有增加。结果就是:
2019-03-14
Java重构-策略模式、状态模式、卫语句
当代码中出现多重if-else语句或者switch语句时。弊端之一:如果这样的代码出现在多处,那么一旦出现需求变更,就需要把所有地方的if-else或者switch代码进行更改,要是遗漏了某一处,那么程序就会出错。弊端之二:代码逻辑难以理解。
2018-02-07
【笔试篇】完美世界2017编程题
PS:讲真不懂,为什么报了前端岗的妹子要做几乎全是JAVA的笔试题╮(╯▽╰)╭,不多说了,哭唧唧~~只记得最后一道编程题,在编辑器调试好代码,却没有时间往答题区粘贴了,既然写了就发在这,求各位路过的大神,点评指教下代码,希望能看到更多的妙方法。
2017-03-29
用css计算选中的复选框有几个
counter-reset 属性设置某个选择器出现次数的计数器的值。默认为 0。 counter-increment 属性设置某个选取器每次出现的计数器增量。默认增量是 1。 counter()插入计数器 转载于猿2048:➯《用css计算选中的复选框有几个》
2019-10-08
工厂模式(一)之抽象工厂模式
即静态工厂模式1.将对象的创建和使用分开;2.将生产过程集中,便于集中管理;3.当需要创建的对象类有变动时,就不用在所有new 的地方修改了,直接修改工厂类即可;
2019-05-16
工厂模式(二)之建造者模式
紧接着上节讲到抽象工厂模式,接下来讲建造者模式。 水果店随着业务发展,想要举行各类促销活动来提升人气。 会员购买橘子+苹果+香蕉(可能还有别的水果)立减15元 假日促销则橘子+苹果+香蕉(可能还有别的水果)立减10元 问题: 1.套餐组合包含各类水果的组合,较复杂(后续套餐越来越复杂)。 2.套餐的创建步骤基本确定...
2019-05-17
Python for 循环语句
Python for 循环语句Python for循环可以遍历任何序列的项目,如一个列表或者一个字符串。语法:for循环的语法格式如下:for iterating_var in sequence: statements(s)流程图:实例:实例#!/usr/bin/python
2023-12-12
水果涨价影响有多大?用数据好好为你捋一捋
犹记得前几个月,“车厘子自由”引起了大家的广泛热议。如今,“苹果自由”再次进入大众视野。据农业农村部统计,5月17日富士苹果批发价格为10.35元/公斤,与三月中旬的7.93元/公斤相比,短短两个月价格已经增长约30%。事实上,今年以来富士苹果的价格涨幅已经达到39%,相比于去年同期涨幅更是超过60%。
2019-06-06
【Python基础】for循环语句
Python for循环可以遍历任何序列的项目,如一个列表或者一个字符串。for循环的语法格式如下:for iterating_var in sequence: statements(s)
2019-06-25
CSS单位em是相对于父元素还是当前元素的字体大小?
<div>会被padding-bottom撑开,而padding-bottom的高度是64px,而不是32px!这证明了1em等于当前元素的字体大小(只有一个例外,下面会讲)。
水果涨价背后的原因探索
背景解析:水果跟民众的生活紧密相关,其重要程度仅次于米面粮油。随着夏季的到来,常见一些水果出现了大幅度的涨价。朋友圈、微博等平台频频出现 ‘ 水果自由’ 、‘消费升级’ 等言论,很多经济学家以及国家统计局的相关负责人都给出了一些涨价的分析结果。所以我这里从统计局以及农产品市场信息平台获取了些数据,深入了...