SAP SD学习笔记04 - 出荷Plant(交货工厂),出荷Point(装运点),输送计划,品目的可用性检查,一括纳入/分割纳入,仓库管理
上一章讲了SD的主数据。
SAP SD学习笔记03 - SD模块中的主数据-CSDN博客
本章讲出荷Plant(交货工厂),出荷Point(装运点)和出和路线。
还是偏理论多一些,后面的文章尽量多加些练习巩固一下。
1,出荷Plant(交货工厂)
SD中,Plant 也叫出荷Plant(交货工厂)。
就是说工厂其实像仓库一样,比如经常说,东西存放在工厂的某某保管场所里面。
下图说明了出荷Plant的决定顺序:
- 得意先/ 品目情报(特定品目给到特定客户,这种最细的设定是最优先的)
- 出荷先(全部品目给到特定客户,较优先) ※一般都是考虑距离上近等特殊设定
- 品目(全品目,最普通)
2,出荷Point(装运点)
出荷Point是SAP中处理装运的组织单位。
2-1,出荷Plant别的出荷Point
SAP中多个工厂可以共用一个装运点。
当然这些工厂在物理上要离得近,不然系统上设了也没啥用。
有的时候一个办公地点挂两个牌子(两个工厂),那么它们肯定要共用出荷Point。
- Leadtime:由出荷先到出荷Point所需时间
- 准备:装运所需设备等的准备(比如大件货物需要铲车,吊车等)
2-2,出荷Point的自动决定
有三个要素来决定出荷Point:
- 出荷条件
- 積載Group
- 出荷Plant:参照上面的【1,出荷Plant】
其他代替出荷Point:虽然初期是上述3个要素决定的,但是还是可以去改,可以在Customize配。
1), 積載Group
来自于品目
品目的 一般/ Plant Tab
積載Group:
- 0001 起重机
- 0002 叉车
- 0003 手动...
2),出荷条件
- 至急:比如专车
- 最低Cost:比如每隔2,3个小时,发一辆车
出荷管理 Tab
出荷条件:虽然这里面有很多,但现场一般也就2个,至急和标准,不然客户有选择困难
- 01 至急
- 02 标准
- 03 一括处理...
3,输送计划
3-1,路线的概念及决定要素
上面的1,2 确定了从哪个工厂出荷,从哪个出荷Point装货,这里的路线要定从哪条路运到目的地
但是其实在现场有些公司不用SAP这个功能,有他们用的更习惯,更省钱的系统。
日本定运费不是随便定,他们役所有个表,各个公司定的运费以那个表为基准。
定运费的时候,可以输入起点终点的邮政编码,就会出来一个基准金额,然后你再自己浮动。
这一套东西如果想用到SAP上得用Add-on来做,挺麻烦的。
所以有的公司就是弄个Interface,和外部系统交互,等运完了,FI那边输入一下运费就完事儿了。
输送路线的自动决定的要素:
- 出荷区域
- 出荷条件
- 输送Group
- 出荷先的纳入区域
3-2,输送计划
输送计划要考虑很多因素:
- 准备时间 (Picking(拣货),Packing(打包))等
- 装载时间:货物准备完了,可以开始装车。有的货物,比如汽车,钢材等还包含固定所需时间
- 输送手段手配日数(Leadtime):运输提前期,即准备要运输的货物所花时间。比如,运送会社的船、卡车等的预约・安排等所花日数
- 配送时间(在途时间):货物运送到客户处路上所花时间
整个输送计划包含如下因素:
- 受注日付:收到订单日
- 品目利用可能日:确认完有足够的品目可供Picking(拣货)与打包
- 输送计划日付:
- 積載日付:Picking,打包已完,可以开始装车
- 出库日付:离开出荷Plant的日期
- 纳入日付:交货日
- 希望纳入日付:客户希望的交货日
- 纳入完了日:客户收货日
这几个日期在画面上也是可以看到的。
VA03 标准受注 > 调达 Tab
双击明细栏位,打开
这里就有:
- 输送计划日付
- 品目利用可能日
- 積載日付
- 出库日付
- 出荷日付/纳入日付
3-3,逆日程计划 / 顺日程计划
- 逆日程计划:根据指定纳期逆向推定 品目利用可能日 和 输送计划
这个一般就是收订单的时候,客户说哪天要,咱们这边来判断行不行的时候用
- 顺日程计划:根据品目利用可能日 推定 确定济纳入日付
这个就是逆日程计划推定结果是不行,做不到的时候,那么算咱们这边尽最大努力的结果是什么
在SAP画面上怎么体现这个 逆/顺日程计划呢?
VA01 标准受注
- 纳入期日:2024/04/19
- 今天日期:2024/04/10
但是客户发注的时候说,就想明天(2024/04/11)要货。
所以我们可以在SAP上,纳入期日栏位改为 2024/04/11
注意S栏位(即 复数纳入日期行 栏位)的勾被自动勾上了。
点一下 S栏位,按F1
意思就是SAP说该行有 复数纳入日程行,让我们确认一下 确认济数量 栏位,以确保受注数量。
其实基本就是SAP通过逆日程计划计算之后,发现根本满足不了客户需求,
于是SAP自动通过顺日程计划,给了一个能做的最大努力之后的结果。
双击该栏位,点 纳入日程行 Tab,还真有2行
- 2024/4/11 行:受注数量栏位 是 2,确认数量栏位 是 0,意思是交不了货
- 2024/4/12 行:确认数量栏位 是 2,意思是最大努力结果就是 12号可以交 2个
然后营业需要做的事情,就是跟客户交涉,看12号行不行。
- 如果客户说行,那就万事OK
- 如果客户说不行,那看看内部自己再调整啊,实在不行的话,可能就只能跟客户说实在做不了了
回到受注画面 > 出荷管理 Tab
纳入日付是 12 号,不是 11 号。
所以如果 复数纳入日期行 自动勾上的话,表示客户需求满足不了了,一定要进去看一下
另外SAP没Check那么严格,你就是这么样就保存也是可以保存的。
那有些公司想严格点儿,既然满足不想让你随便保存,那就需要扩张,加Check
有关扩张的概念,可以参照下面文章:
SAP MM学习笔记7-SAP标准功能和Add-on之间的关系_fit gap analyse需求匹配分析-CSDN博客
简单来说,就是左下角的绿色的 扩张 那个地方。
4,可用性检查的基础
简单来说就是确认客户要的货,咱们还有没有在库。
需要注意的是,不能单纯在 MMBE 看当前的在库状况照会,
因为有些货可能已经卖了,只是还没出库而已。
4-1,可用性检查的要素
咱们这里简单说一下可用性检查的要素:
- 利用可能在库确认
在 MM03 > 一般/Plant Tab
- 品目利用可能日
- 出荷Plant
有关出荷Plant(交货工厂)的决定 参照 上面的【1,出荷Plant】
4-2,可用性检查要素之 利用可能在库的制御要素
品目利用可能日 和 出荷Plant 还挺好理解的吧,咱们这里就说说 利用可能在库确认 的制御。
- 上面那行是正要素
- 在库
- 购买发注:比如虽然还没到货,但是根据计划明天到货等
- 购买依赖:已经收到购买依赖了,接下来要安排购买发注
- 计划手配:已经安排生产
- 下面那行是负要素
- 受注所要量:通过别的订单已经卖掉了
- 入出库预定:生产所需的原材料,半成品之类的,自己内部的消耗,预定要入出库
当然也不是所有这些要素都要看的。
有些公司只看 在库 和 受注所要量 这种已经确定的部分,其他没定下来之前先不看了也是可以的。
具体这些要素是在哪儿设定的呢?就是MM03画面上的 利用可能在库确认 栏位。
按F1,选 Customize 图标可定位到Customize部分。
但咱们今天先不看Customize,咱就从画面看一下 利用可能在库确认 栏位具体由什么项目组成。
通过例子看 利用可能在库确认 项目是怎么影响Check的。
1),MMBE 查看品目在库
品目M9901,其利用可能在库:4980 ST
- Plant 1000:2000
- Plant 1200:2980
2),MM03 查看利用可能在库确认
利用可能在库确认
- 02:个别所要量
3),VA01 受注登录 中 查看在库确认范围
这里入力 2000(在库正好够)的话,则可以入力
入力 2010 个的话,则会 跳到 利用可能在库管理 画面
意思是 2010 个一次性的话纳入不了,需要分割纳入
点 ATP 数量,跳到 利用可能在库概要 画面
- 利用可能在库chk:02
这个和 MM03 里面的 利用可能在库确认 字段的设定是一样的。
点 在库确认范围 图标
这个画面就表示了 在库确认范围
这些设定就和咱们下面这张图里面说的 在库,购买发注,...相关
比如上图 设定的是【02:个别所要量/ A:受注】,
它就勾上了购买发注,购买依赖,这样客户发注的时候咱们显得有货,可以比较好拿订单
- 包含 购买发注
- 包含 购买依赖...
然后像这种情况的话,MM里面跑一下MRP,就会自动生成购买依赖,自动补货了。
回到VA01 画面,复数纳入日期行 栏位已经被置为 ON,点 明细的纳入日程行 按钮
可以看到确认数量为 2000,而受注数量为 2010
4),MM02 改一下 利用可能在库确认
02 个别所要量 --》 01 日别所要量
再次输入 2010 个,S栏位(复数纳入日期行)也没有置为 ON
点 明细利用可能在库确认 图标,
发现在 利用可能在库管理 画面多了一个 Lead Time终了 栏位:2024/4/12
点 在库确认范围 按钮,
- 无补充Leadtime --》OFF
即 可以考虑补充Leadtime,也就是说客户想 2024/4/19要货,虽然现在在库不足,
但是这个Leadtime 足够我调达到足够的货给客户,而且我在 2024/4/12 号之前就能搞定。
之前 利用可能在库确认 字段是【02 个别所要量】的时候,这个【无补充Leadtime】是ON,
意思是不考虑Leadtime,也就是说只看现在,比如 在库+购买发注+购买依赖...
这样咱们就明白了,MM03 中的这个 利用可能在库确认 字段 是可以影响在库确认范围的。
5,一括纳入/ 分割纳入
5-1,一括纳入/ 分割纳入的概念
- 一括纳入:货物都收集齐了再发货
- 分割纳入:
- 多个商品,分割发货,其中某个商品而言,就不再分割了(比如1400-300)
- 多个商品,分割发货,其中某个商品也可以再分割发货(比如1400-100,1400-200)
5-2,分割纳入/回数的默认值
- BP(得意先/出荷先)
- 得意先/品目情报
1),BP(得意先/出荷先)
XD01/02 得意先(出荷先)里面设定。
比如 得意先(出荷先)9002,设定了如下默认值,出荷传票里面默认就带出来了:
- 一括纳入:空白
- 分割纳入(明细别):分割纳入可能
- 分割纳入(最大):9
这里说一下各个选项:
- 空白 分割纳入可能
- A 收到 1 以上的出荷数量,该受注传票即认为完了(意思是你就发一次,能发多少发多少,剩下不要了)
- 只允许1个出荷传票(含数量为0)
- 只允许一括纳入
- 后续出荷传票不限(不限制后续继续交货)
2),得意先/品目情报
注意这里没有 一括纳入 选项的默认值设定。
5-3,SAP的画面上面哪里有一括/分割纳入呢?
- VA01 受注画面 > 利用可能在库管理
在画面上就是像下面这个样子的
- 一括纳入
- 纳入提案 (有多行的就是分割纳入)
- VA01 受注画面 > 明细Data 画面
出荷管理Tab
- 分割纳入/明细:
- 空白 分割纳入可能
- C 只允许一括纳入...
- 分纳最大回数:有些公司只允许2次,3次...,可以根据需要设定
- VA01 受注画面 > Header
Menu > Jump > Header
出荷管理 Tab
- 一括纳入:如果勾上的话,那么所有明细里面都不会再允许分割纳入了
6,仓库管理
6-1,仓库番号
- 仓库番号: 仓库管理(WM模块)中最高级别的组织单位,也用于和其他模块对接
在实际应用中,仓库单位经常对应 建筑或销售中心
下面是SAP EMW系统里面的一些概念
- 仓库番号
- 保管域Type(仓储类型)
- 保管区画(仓储区分)
- 棚番(仓位)
下图是仓库番号的下位构造:
当然这不只是SAP里面固有的,是仓库业务的基础知识。
SAP的WM模块不是很灵活,反而是有些外边的系统做得非常好。
比如说,甚至是走哪条路能把今天所需的所有货给拿出来都能算出来,效率非常高。
有些仓库(比如冷库,金库等待)是不能随便进的,进一次时间尽量短,事儿要尽量多干。
你要是一次拿一个货那你仓库管理起来太费劲儿了。
所以一般就是把SAP和这种好用的仓管管理系统对接就可以了,不用SAP自己的WM模块。
下面这些都是SAP中的WM里面的概念。
咱们这里就是说一下仓库番号 这个概念,其他的就先不研究了。
6-2,Picking处理
- 转送指图(转储单):这个就是SD和WM模块连携
- Picking指图:这个就是SD和WM模块不连携
用转送指图和不用转送指图是在哪儿区分的呢?
就是保管场所分配没分配仓库番号 来判断的:
- 分配了仓库番号:就要在WM中进行Picking处理
- 没分配仓库番号:就不需要在WM中进行Picking处理,而是直接在出荷传票上输入Picking数量
1),VA01 受注
2),VL01N 出荷传票
Picking数量为Readonly的
双击上图 明细 栏位,打开如下界面 > Picking Tab
- WM Status:A WM转送指图:要
- 仓库番号:010 简易仓库 xx
这两个东西就指明了Plant 1000/ 保管场所 0001 是分配了仓库番号的,要在 WM里面做Picking。
出荷传票界面无法直接输入Picking了,咱们先保存。
出荷伝票番号: 80016235
补充:
那么为什么有时候改保管场所就可以输入Picking了呢?
其实就是该 Plant 1200 / 保管场所 0002 的设定如下,它不需要在WM中Picking:
- WM Status:空白:【WM转送指图:不要】
3),LT03 参照出荷传票登录转送指图
- 仓库番号:010
- Plant:1000 (不输入Plant也可以)
- 出荷传票:010
这个界面其实没啥操作,就是点一下 按钮 转送指图明细生成
点 保存
保存成功
保存的时候还出了个错,搞了一阵子,发现是做得太多了,把一些旧JOB给删了就好了:
SAP SD学习笔记 - LT03中发生的SPOC003 Error in spool C call: spool overflow-CSDN博客
6-3,出库确认
4),VL02N 出荷传票 出库确认
经WM LT03 那边做完 转送指图 之后,VL02N 里面的Picking数量就可以输入了
默认已经给你输好了
咱们这边直接点 出库确认
6-4,请求传票登录
5),VF01 请求传票登录
直接就带过来出荷传票番号
回车则反映所需其他数据,直接保存
虽说保存成功,但是这个Message挺怪的:
伝票 90038081 已经保存 (会計伝票未生成)
Msg 番号 VF050
6-5,确认传票Flow
6),VA03 受注
本章讲了SAP SD模块中的非常重要的内容:
- 出荷Plant(交货工厂)
- 出荷Point(装运点)
- 输送计划
- 品目的可用性检查
- 一括纳入/分割纳入
- 仓库管理(主要就是仓库番号。在Picking的时候,要么直接Picking,要么通过WM模块)
相关文章:

SAP SD学习笔记04 - 出荷Plant(交货工厂),出荷Point(装运点),输送计划,品目的可用性检查,一括纳入/分割纳入,仓库管理
上一章讲了SD的主数据。 SAP SD学习笔记03 - SD模块中的主数据-CSDN博客 本章讲出荷Plant(交货工厂),出荷Point(装运点)和出和路线。 还是偏理论多一些,后面的文章尽量多加些练习巩固一下。 1࿰…...
bind包装器——C++新特性(三)
文章目录 bindbind函数模板的原型bind 包装器的用途其他使用示例 🎖 博主的CSDN主页:Ryan.Alaskan Malamute 📜 博主的代码仓库主页 [ Gitee ]:ryanala [GitHub]: Ryan-Ala bind bind也是一种函数包装器…...

MXNet的下载安装及问题处理
1、MXNet介绍: MXNet是一个开源的深度学习框架,以其灵活性和效率著称,支持多种编程接口,包括Python、C、R、Julia、Scala等。MXNet支持大规模分布式训练,同时兼顾CPU和GPU的计算资源,尤其擅长于模型并行和数…...
Python 中的列表排序和排序规则
Python 中的列表排序和排序规则 在 Python 中,列表的排序是一个常见的操作,可以使用内置函数 sorted() 或列表对象的 sort() 方法来完成。下面将介绍这两种方法以及排序规则的使用方式。 1. 使用 sorted() 函数排序列表(临时性排序…...
面经整理1
感觉好几个都是backtracking Letter Combinations of a Phone Number - LeetCode 典型的backtracking,注意String的处理 class Solution {String[] keyboard new String[]{"", "", "abc","def","ghi","…...
ChatGPT个人专用版 SSRF漏洞复现(CVE-2024-27564)
0x01 产品简介 ChatGPT个人专用版是一种基于 OpenAI 的 GPT-3.5 、GPT-4.0语言模型的产品。它是设计用于 Web 环境中的聊天机器人,旨在为用户提供自然语言交互和智能对话的能力。PHP版调用OpenAI接口进行问答和画图,采用Stream流模式通信,一边生成一边输出。前端采用EventS…...
Python中的可哈希与不可哈希对象详解
文章目录 1. 前置知识:哈希是什么2. 可哈希和不可哈希对象的定义2.1可哈希2.2 不可哈希 3. 对象的哈希方法3.1 自定义对象的哈希方法3.2 可哈希性与等价性3.3 哈希值的用途 推荐 在复习可变对象和不可变对象时,学到了这个内容 1. 前置知识:哈…...
【嵌入式DIY实例】-DIY速度计
DIY速度计 文章目录 DIY速度计1、硬件准备1.1 NEO-6M GPS模块介绍1.2 硬件接线原理图2、代码实现本文将介绍如何使用模拟仪表和 GPS 模块制作 DIY Arduino 速度计。 仪表用于显示当前速度,而GPS模块用于实时跟踪速度。 该项目将 Arduino 板与 GPS 模块相结合,在经典模拟仪表上…...

1.0 Hadoop 教程
1.0 Hadoop 教程 分类 Hadoop 教程 Hadoop 是一个开源的分布式计算和存储框架,由 Apache 基金会开发和维护。 Hadoop 为庞大的计算机集群提供可靠的、可伸缩的应用层计算和存储支持,它允许使用简单的编程模型跨计算机群集分布式处理大型数据集…...

【无人机/平衡车/机器人】详解STM32+MPU6050姿态解算—卡尔曼滤波+四元数法+互补滤波(文末附3个算法源码)
效果: MPU6050姿态解算-卡尔曼滤波+四元数+互补滤波 目录 基础知识详解 欧拉角...

智能水务系统:构建高效节水的城市水网
随着城市化进程的加速和人民生活水平的提高,对水务管理的需求也越来越高。传统的水务管理方式已经无法满足现代社会的需求,而智能水务系统的出现为水务管理带来了新的变革。本文将从项目背景、需求分析、建设目标、建设内容、技术方案、安全设计等方面&a…...

【JavaEE初阶系列】——网络编程 UDP客户端/服务器 程序实现
目录 🚩UDP和TCP之间的区别 🎈TCP是有连接的 UDP是无连接的 🎈TCP是可靠传输 UDP是不可靠传输 🎈TCP是面向字节流 UDP是面向数据报 🎈TCP和UDP是全双工 👩🏻💻UDP的socket ap…...
数据结构复习指导之绪论(算法的概念以及效率的度量)
文章目录 绪论: 2.算法和算法评价 知识总览 2.1算法的基本概念 知识点回顾与重要考点 2.2算法效率的度量 知识总览 1.时间复杂度 2.空间复杂度 知识点回顾与重要考点 归纳总结 绪论: 2.算法和算法评价 知识总览 2.1算法的基本概念 算法( Al…...
C语言经典例题(23)
1.求n的阶乘。(不考虑溢出) #include <stdio.h>int fac(int n);int main() {int n 0;scanf("%d", &n);int sum fac(n);printf("%d", sum);return 0; }int fac(int n) {if (n > 1){return n * fac(n - 1);}elsereturn 1; }2.求第n个斐波那契…...
Gitea的简单介绍
Gitea 是一个自由、开源、轻量级的 Git 服务程序。它是为了建立一个易于使用的、类似 GitHub 的 Git 服务而创建的。Gitea 采用 Go 语言编写,具有简单、快速、易于安装和配置的特点。 Gitea 提供了一个基本的 Web 界面,可以方便地进行代码托管、问题跟踪、协作等操作。用户可…...

Qt信号与槽
我们在使用Qt的时候,不使用Qt Designer 的方式进行开发,使用ui文件,信号与槽的连接方式是生成代码之后才能在setupUi函数里才能看到,或者需要进入Ui设计器里的信号槽模式里才能看到信号槽的连接。所以我们最好使用代码绘制界面。 …...

QQ农场-phpYeFarm添加数据教程
前置知识 plugin\qqfarm\core\data D:\study-project\testweb\upload\source\plugin\qqfarm\core\data 也就是plugin\qqfarm\core\data是一个缓存文件,如果更新农场数据后,必须要删除才可以 解决种子限制(必须要做才可以添加成功) 你不更改加入了id大于2000直接删除种子 D…...

Java中创建多线程的方法
继承Thread类,对该类进行new一个实例,对实例调用start方法,重写run方法。 缺点:单继承,无法继承 public class myThread extends Thread {public static void main(String[] args) {myThread myThread new myThread()…...

MT3020 任务分配
思路:利用二分找到某个时间是满足“k个人可以完成” ,并且时间最小。 因为尽量让后面的人做任务,所以从后往前排任务(倒着分配)。从后往前遍历任务,如果此人加上这个任务超出之前求得的时间,就…...
【Redis】事务
Redis事务是一组命令的集合。这组命令顺序化执行而不会被其他命令插入。 Redis事务命令 命令描述DISCARD取消事务,放弃执行EXEC执行事务MULTI标记事务的开始UNWATCH取消WATCH对所有key的监控WATCH监控所有key Redis事务特点 特点说明单独的隔离操作Redis命令执行…...

(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)
题目:3442. 奇偶频次间的最大差值 I 思路 :哈希,时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况,哈希表这里用数组即可实现。 C版本: class Solution { public:int maxDifference(string s) {int a[26]…...
使用van-uploader 的UI组件,结合vue2如何实现图片上传组件的封装
以下是基于 vant-ui(适配 Vue2 版本 )实现截图中照片上传预览、删除功能,并封装成可复用组件的完整代码,包含样式和逻辑实现,可直接在 Vue2 项目中使用: 1. 封装的图片上传组件 ImageUploader.vue <te…...

Java-41 深入浅出 Spring - 声明式事务的支持 事务配置 XML模式 XML+注解模式
点一下关注吧!!!非常感谢!!持续更新!!! 🚀 AI篇持续更新中!(长期更新) 目前2025年06月05日更新到: AI炼丹日志-28 - Aud…...
Unit 1 深度强化学习简介
Deep RL Course ——Unit 1 Introduction 从理论和实践层面深入学习深度强化学习。学会使用知名的深度强化学习库,例如 Stable Baselines3、RL Baselines3 Zoo、Sample Factory 和 CleanRL。在独特的环境中训练智能体,比如 SnowballFight、Huggy the Do…...
css3笔记 (1) 自用
outline: none 用于移除元素获得焦点时默认的轮廓线 broder:0 用于移除边框 font-size:0 用于设置字体不显示 list-style: none 消除<li> 标签默认样式 margin: xx auto 版心居中 width:100% 通栏 vertical-align 作用于行内元素 / 表格单元格ÿ…...
【HarmonyOS 5 开发速记】如何获取用户信息(头像/昵称/手机号)
1.获取 authorizationCode: 2.利用 authorizationCode 获取 accessToken:文档中心 3.获取手机:文档中心 4.获取昵称头像:文档中心 首先创建 request 若要获取手机号,scope必填 phone,permissions 必填 …...
《C++ 模板》
目录 函数模板 类模板 非类型模板参数 模板特化 函数模板特化 类模板的特化 模板,就像一个模具,里面可以将不同类型的材料做成一个形状,其分为函数模板和类模板。 函数模板 函数模板可以简化函数重载的代码。格式:templa…...

基于IDIG-GAN的小样本电机轴承故障诊断
目录 🔍 核心问题 一、IDIG-GAN模型原理 1. 整体架构 2. 核心创新点 (1) 梯度归一化(Gradient Normalization) (2) 判别器梯度间隙正则化(Discriminator Gradient Gap Regularization) (3) 自注意力机制(Self-Attention) 3. 完整损失函数 二…...
用递归算法解锁「子集」问题 —— LeetCode 78题解析
文章目录 一、题目介绍二、递归思路详解:从决策树开始理解三、解法一:二叉决策树 DFS四、解法二:组合式回溯写法(推荐)五、解法对比 递归算法是编程中一种非常强大且常见的思想,它能够优雅地解决很多复杂的…...
深入理解 React 样式方案
React 的样式方案较多,在应用开发初期,开发者需要根据项目业务具体情况选择对应样式方案。React 样式方案主要有: 1. 内联样式 2. module css 3. css in js 4. tailwind css 这些方案中,均有各自的优势和缺点。 1. 方案优劣势 1. 内联样式: 简单直观,适合动态样式和…...