广告
返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >PHP怎么实现划分字母区间
  • 801
分享到

PHP怎么实现划分字母区间

2023-06-20 14:06:15 801人浏览 泡泡鱼
摘要

本篇内容介绍了“PHP怎么实现划分字母区间”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!字符串S由小写字母组成。我们要把这个字符串划分为尽可

本篇内容介绍了“PHP怎么实现划分字母区间”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

字符串S由小写字母组成。我们要把这个字符串划分为尽可能多的片段,同一个字母只会出现在其中的一个片段。返回一个表示每个字符串片段的长度的列表。今天我们就来介绍划分字母区间的方法。

划分字母区间

字符串 S 由小写字母组成。我们要把这个字符串划分为尽可能多的片段,同一个字母只会出现在其中的一个片段。返回一个表示每个字符串片段的长度的列表。

示例 1:

输入:S = "ababcbacadefegdehijhklij"输出:[9,7,8]解释:划分结果为 "ababcbaca", "defegde", "hijhklij"。每个字母最多出现在一个片段中。像 "ababcbacadefegde", "hijhklij" 的划分是错误的,因为划分的片段数较少。

提示:

S的长度在[1, 500]之间。 S只包含小写字母 ‘a’ 到 ‘z’ 。

来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/partition-labels 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

解题思路 1

想切割,要有首尾两个指针,确定了结尾指针,就能确定下一个切割的开始指针。 遍历字符串,如果已扫描部分的所有字符,都只出现在已扫描的范围内,即可做切割。 下图已扫描的绿色字符,对应的最远位置,都不超过 8,在 8 这切一刀,[0:8] 的字符都不会出现在别处。

maintain「已扫描的字符能去到的最远位置」,扫到这个位置就切割,切出的字符不会在之后出现。 更新开始指针,准备下一次切割。

一些变量

maxPos 一个Map,记录每个字母对应的最远位置。start 做切割的开始位置。scannedCharMaxPos 已扫描的字符能去到的最远位置。

class Solution {        function partitionLabels($S) {        $maxPos = [];        $length = strlen($S);        for ($i = 0; $i < $length; $i++) { // 存放字母与它的最远位置            $maxPos[$S[$i]] = $i;        }        $res = [];        $start = 0;                        // 待切割的起始位置        $scannedCharMaxPos = 0;            // 已扫描的字符中最远的位置        for ($i = 0; $i < $length; $i++) {            $curCharMaxPos = $maxPos[$S[$i]]; // 当前扫描的字符的最远位置            $scannedCharMaxPos = max($scannedCharMaxPos, $curCharMaxPos); // 更新「已扫描的字符中最远的位置」            if ($i == $scannedCharMaxPos) { // 正好扫描到「已扫描的字符的最远位置」,到达切割点                $res[] = $i - $start + 1;                $start = $i + 1;              // 更新,下一个待切割的字符串的起始位置            }        }        return $res;    }}

php怎么实现划分字母区间”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

--结束END--

本文标题: PHP怎么实现划分字母区间

本文链接: https://www.lsjlt.com/news/297389.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • PHP怎么实现划分字母区间
    本篇内容介绍了“PHP怎么实现划分字母区间”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!字符串S由小写字母组成。我们要把这个字符串划分为尽可...
    99+
    2023-06-20
  • java算法题解Leetcode763划分字母区间示例
    目录题目解题思路题目 763. 划分字母区间 字符串 S 由小写字母组成。我们要把这个字符串划分为尽可能多的片段,同一字母最多出现在一个片段中。返回一个表示每个字符串片段的长度的...
    99+
    2023-01-09
    java算法划分字母区间 java LeetCode
  • php怎么实现数值转字母
    php实现数值转字母的方法:1、创建一个php示例文件;2、定义一个numToExcelLetter方法;3、在方法体内通过“while ($num > 0 ) {$mod = (int)($num % $base);$num = (...
    99+
    2023-05-14
    字母 数值 php
  • 如何用PHP实现数字和字母间的转换
    PHP是一种十分强大的编程语言,开发者可以利用PHP开发出各种各样的应用程序和功能,其中数字和字母之间的转换就是PHP中比较基础的操作之一。本文将介绍如何使用PHP来实现数字和字母之间的转换,包括数字转换为字母、字母转换为数字等。一、数字转...
    99+
    2023-05-14
    php
  • php正则怎么实现去掉特殊字母
    本文操作环境:Windows7系统,PHP7.1版,Dell G3电脑。php正则怎么实现去掉特殊字母?php 正则去除中文,汉字,特殊字符 正则去除中文,汉字,特殊字符:$str = ' 432.65456787rewqrewq...
    99+
    2014-11-03
    php 正则
  • PHP怎么实现随机数字、字母的验证码功能
    本篇内容主要讲解“PHP怎么实现随机数字、字母的验证码功能”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“PHP怎么实现随机数字、字母的验证码功能”吧!废话不多说,直接上代码:1、classgd....
    99+
    2023-06-04
  • Android怎么实现字母导航控件
    这篇文章主要介绍“Android怎么实现字母导航控件”,在日常操作中,相信很多人在Android怎么实现字母导航控件问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Android怎么实现字母导航控件”的疑惑有所...
    99+
    2023-06-26
  • Python怎么实现最大连续区间和动态规划
    本篇内容介绍了“Python怎么实现最大连续区间和动态规划”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!问题描述:给定一段长度为N的整数序列...
    99+
    2023-06-26
  • JS怎么实现字符串首字母都大写
    本篇内容主要讲解“JS怎么实现字符串首字母都大写”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“JS怎么实现字符串首字母都大写”吧!   1、For循环   ...
    99+
    2022-10-19
  • java怎么实现字符串中的字母排序
    这篇文章主要介绍“java怎么实现字符串中的字母排序”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“java怎么实现字符串中的字母排序”文章能帮助大家解决问题。题目要求java实现字符串中的字母排序并...
    99+
    2023-07-05
  • Go怎么实现字符串首字母大、小写
    这期内容当中小编将会给大家带来有关Go怎么实现字符串首字母大、小写,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。             &nb...
    99+
    2023-06-15
  • php实现字母转大写的函数是什么
    本文操作环境:windows7系统、PHP7.1版、DELL G3电脑php实现字母转大写的函数是什么?strtoupper() 函数把字符串转换为大写。注释:该函数是二进制安全的。相关函数:lcfirst() - 把字符串中的首字符转换为...
    99+
    2021-11-21
    php
  • CSS怎么实现段落首字母,首字放大特效
    小编给大家分享一下CSS怎么实现段落首字母,首字放大特效,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!段落首字母放大是指放大段落...
    99+
    2022-10-19
  • CSS怎么实现段落首字母、首字放大特效
    本篇内容主要讲解“CSS怎么实现段落首字母、首字放大特效”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“CSS怎么实现段落首字母、首字放大特效”吧! ...
    99+
    2022-10-19
  • div css怎么实现文字中划线
    这篇文章主要介绍了div css怎么实现文字中划线的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇div css怎么实现文字中划线文章都会有所收获,下面我们一起来看看吧。代码&l...
    99+
    2022-10-19
  • css文字划线效果怎么实现
    这篇文章主要介绍“css文字划线效果怎么实现”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“css文字划线效果怎么实现”文章能帮助大家解决问题。 一、文字中划线CS...
    99+
    2022-10-19
  • 使用javascript怎么实现首字母大写转换
    这篇文章将为大家详细讲解有关使用javascript怎么实现首字母大写转换,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。1、两种方法(1)通过各个字符,通过字符的前一个字符是空格时,使用to...
    99+
    2023-06-15
  • vue+iview怎么实现拼音、首字母和汉字模糊搜索
    这篇文章主要介绍“vue+iview怎么实现拼音、首字母和汉字模糊搜索”,在日常操作中,相信很多人在vue+iview怎么实现拼音、首字母和汉字模糊搜索问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”vue+i...
    99+
    2023-06-29
  • HTML怎么实现支持各浏览器连续字母
    这篇文章主要讲解了“HTML怎么实现支持各浏览器连续字母”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“HTML怎么实现支持各浏览器连续字母”吧! 代码以下...
    99+
    2022-10-19
  • php 怎么实现时间把时分秒去掉
    php实现时间把时分秒去掉的方法:1、创建一个php示例文件;2、使用strtotime函数将日期时间转换为时间戳;3、通过date函数对日期或时间进行格式化即可去掉时分秒。本教程操作环境:Windows10系统、PHP8.1版、Dell ...
    99+
    2023-05-14
    php 时间
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作