前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >LeetCode14.最长公共前缀(Kotlin语言)

LeetCode14.最长公共前缀(Kotlin语言)

作者头像
一个会写诗的程序员
修改于 2023-09-21 09:01:34
修改于 2023-09-21 09:01:34
37800
代码可运行
举报
运行总次数:0
代码可运行

LeetCode14.最长公共前缀(Kotlin语言)

题目描述

编写一个函数来查找字符串数组中的最长公共前缀。

如果不存在公共前缀,返回空字符串 ""。

示例 1:

输入: ["flower","flow","flight"] 输出: "fl" 示例 2:

输入: ["dog","racecar","car"] 输出: "" 解释: 输入不存在公共前缀。 说明:

所有输入只包含小写字母 a-z 。

解题思路

1.先计算出数组中的最短字符串长度 shortestStrLen 2.最长公共前缀 <= shortestStrLen 3.for len in 0..shortestStrLen 逐一遍历 strs 中的元素,比对是否相等 4.遇到不相等的 len, 就停止遍历,记录此时的 maxCommonLen = len. 5.注意考虑遍历完 shortestStrLen,都相等的情况, 此时 maxCommonLen = shortestStrLen

代码

代码语言:javascript
代码运行次数:0
运行
复制
class Solution {
    fun longestCommonPrefix(strs: Array<String>): String {
        if (strs.isEmpty()) return ""

        // 数组中的最短的字符串长度
        var shortestStrLen = Int.MAX_VALUE
        strs.forEach {
            shortestStrLen = Math.min(it.length, shortestStrLen)
        }
        if (shortestStrLen == 0) return ""

        val n = strs.size
        var maxCommonLen = 0

        var flag = true
        for (len in 0 until shortestStrLen) {
            for (i in 1 until n) {
                if (strs[i][len] != strs[0][len]) {
                    flag = false
                    break
                }
            }

            // 遍历中断
            if (!flag) {
                maxCommonLen = len
                break
            } else {
                // 全部遍历均相同
                maxCommonLen = shortestStrLen
            }
        }

        return strs[0].subSequence(0, maxCommonLen).toString()
        
    }
}

运行测试

代码语言:javascript
代码运行次数:0
运行
复制
fun main() {
    run {
        val strs = arrayOf("flower", "flow", "flight")
        val common = longestCommonPrefix(strs)
        println("common=$common, expected=fl")
    }

    run {
        val strs = arrayOf("dog", "racecar", "car")
        val common = longestCommonPrefix(strs)
        println("common=$common, expected=")
    }

    run {
        val strs = arrayOf("doger", "dogeracecar", "dogercar")
        val common = longestCommonPrefix(strs)
        println("common=$common, expected=doger")
    }

    run {
        val strs = arrayOf("abca", "aba", "aaab")
        val common = longestCommonPrefix(strs)
        println("common=$common, expected=a")
    }

    run {
        val strs = arrayOf("c", "acc", "ccc")
        val common = longestCommonPrefix(strs)
        println("common=$common, expected=")
    }

    run {
        val strs = arrayOf("aac", "acab", "aa", "abba", "aa")
        val common = longestCommonPrefix(strs)
        println("common=$common, expected=a")
    }
}

// 输出:
common=fl, expected=fl
common=, expected=
common=doger, expected=doger
common=a, expected=a
common=, expected=
common=a, expected=a

参考资料

https://leetcode-cn.com/problems/longest-common-prefix/solution/zui-chang-gong-gong-qian-zhui-kotlinyu-yan-by-chen/

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
CDP平台赋能精细化运营实践
互联网下半场,流量红利过后,流量获取成本越来越昂贵,企业纷纷数字化转型,以期通过大数据的能力充分挖掘流量价值,实现用户与营收的增长。近两年很多行业受疫情冲击严重,比如OTA业务,海外严重萎缩,国内出游也深受时不时爆发的疫情的困扰,增长放缓只能勒紧裤腰带,开源节流了,一分钱当一块钱十块钱花。业务运营方面,需要更加精细化、精准化,提升运营的ROI以及流量的利用效率。
数据干饭人
2022/07/01
1.5K0
CDP平台赋能精细化运营实践
数据中台:从0-1,数据服务平台(DMP)实践
看过很多关于如何构建用户画像的文章,大多聚焦于用户画像对精准营销、精细化运营的价值、如何建设标签体系的某一或某几个点,本文主要从数据中台思想出发,更全面地分享如何从0-1规划和实施一款智能数据服务平台。
数据干饭人
2022/07/01
1.4K0
数据中台:从0-1,数据服务平台(DMP)实践
【案例】春秋航空——AI+CDP打造航空业数智化营销平台
“本项目案例由 创略科技 投递并参与由数据猿&上海大数据联盟联合推出的“行业盘点季之数智化转型升级”大型主题策划活动之《2021中国企业数智化转型升级创新服务企业》榜单/奖项的评选。
数据猿
2021/09/01
1.8K0
【案例】春秋航空——AI+CDP打造航空业数智化营销平台
CDP、DMP、CRM都是什么,你分得清楚吗?
数据化管理时代,几乎每个企业都在推行业务的精细化运营,新用户的获取,老用户的分层运营。为了提升数据化运营的效率,纷纷自建或外采运营工具。市面上各自CRM系统、DMP平台层出不穷,后来又有了CDP平台,
数据干饭人
2022/07/01
2.2K0
CDP、DMP、CRM都是什么,你分得清楚吗?
2022爱分析・消费品零售数字化厂商全景报告 | 爱分析报告
面对疫情冲击、行业承压、消费者需求多变等挑战,消费品零售行业企业加速向数字化转型升级,积极谋求破局发展之路。一方面,受疫情因素及经济疲软影响,消费品零售行业整体增速放缓,利润下滑,同时叠加行业市场竞争加剧,企业迫切需要通过数字化手段实现差异化、精细化运营,提升自身竞争力;另一方面,消费者的消费理念和消费行为不断发生改变,更加注重交互体验和个性化需求,以及便利性、及时性的需求,在触点方面也更加碎片和多元,相应驱动品牌零售企业对营销及运营模式、订单及库存管理、渠道管理、门店运营等多方面进行变革。
爱分析ifenxi
2022/12/27
7010
用户画像、画像标签、用户分群是一回事吗?
数据化运营时代,运营方式从过去粗放式转向精细化。用户画像受到热宠,不搞用户画像都不好意思说在做精细化运营了。各种用户画像标签体系建设、从0到1教你构建用户画像之类的文章广泛传播。前几天听到有同学在规划CDP平台时,认为画像即标签,标签就是画像,用户画像和用户分群是同一主体的不同叫法,产品架构设计时,边界不清,功能交错。于是,觉得还是要回归到最基本的问题,把这几个概念厘清一下。
数据干饭人
2022/07/01
9670
用户画像、画像标签、用户分群是一回事吗?
交易赋能,数字化助力渠道模式新升级 | 爱分析报告
“人、货、场”,一直以来都是消费品零售的核心要素,尤其是“人”的数字化转型相对较难。营销一体化、私域运营,分别从数据、承接转化角度,对“人”进行了升级;与此同时,渠道数字化则通过关键角色的交易赋能,更多聚焦于“货”的升级,而门店,则同时运用营销一体化工具和私域运营工具等手段,兼顾“人、货、场”要素的升级。
爱分析ifenxi
2022/12/27
1K0
火山引擎智能外呼联合火山引擎VeDI升级服务,让企业精准营销不再难
大数据文摘出品 企业营销模式正在经历一场巨变。数字化营销早已替代传统的营销方式,成为企业营销的主流方式和发展战略中不可或缺的部分。然而随着数字化营销的普及,市场迈入存量竞争时代,获客成本也逐年攀升。面对营销过程中不断增加的资金投入和巨大的资源推广,企业开始在获客过程中强调拓客效率和成本控制,以实现更高的投资回报率。如何靶向瞄准潜在客户,找到最佳营销策略来吸引消费者,提高目标客户的转化率,成为数字化营销面临的一大难题。 智能外呼作为高效触达客户的手段,也在积极适应企业在现阶段的营销诉求,不断调整产品方案形态。
大数据文摘
2023/05/22
8500
火山引擎智能外呼联合火山引擎VeDI升级服务,让企业精准营销不再难
基于POI和地理围栏的精细化运营实践
记得大学时,每年暑期开学,校园里各个运营商摊位卖手机、卖号卡,毕业工作后,互联网浪潮兴起,中午办公园区吃饭看到路边各种小桌子、小推车进行App应用地推,注册新用户发个小礼物。其实,不管是居民区扫楼发传
数据干饭人
2022/07/01
7660
基于POI和地理围栏的精细化运营实践
全价值链赋能,数字化助力营销价值全力释放 | 爱分析报告
在数字化浪潮之下,作为企业生存发展的根基,营销成为企业数字化转型升级的前沿阵地,营销的本质是企业与客户间的价值发现、价值传递的过程。
爱分析ifenxi
2023/02/10
1.1K0
大数据应用场景:除了“杀熟”,还能干点啥?
五一回家,有非数据专业的朋友问,你一直搞大数据,大数据除了“杀熟”,还有什么应用场景啊,能不能科普下?的确网络上、新闻上看到了很多的“杀熟”的负面报道,但大数据还能干点啥,有什么价值,数据人每天在忙啥,对于非数据线的人可能确实不了解,毕竟隔行如隔山。所以,近期也在思考,如何能把大数据的应用场景说清楚,不为正名,只为把自己数年的大数据从业的初心再捋一捋,也给想要选择数据行业的提供一些参考建议。
数据干饭人
2022/07/01
3840
大数据应用场景:除了“杀熟”,还能干点啥?
如何实现智能化用户增长策略部署与自动化运营
截至2020年12月31日,京东LTM活跃购买用户数达到4.719亿,全年净增了近1.1亿活跃用户,在这样海量规模的用户运营场景下,传统的人工运营方式已经很难实现对成本和收益的精细化控制。事实上,当今互联网行业的头部企业都面临着后流量红利时代的增量用户精准运营的难题。近1年来,京东零售用户增长与运营部积极探索先进的用户运营方法论,并创造了用户增长超1亿的行业壮举。本文结合零售用增团队的业务实践经验,从数智化运营角度介绍目前线上规模化运行的用户增长“机器”的基本原理。
京东技术
2021/05/11
1.9K0
顶流品牌全渠道服务经验加持,欧泰谱以闭环Know–how助力品牌商业绩增长 | 欧泰谱厂商评估
面对疫情冲击、行业承压、消费者需求多变等挑战,消费品零售行业企业加速向数字化转型升级,积极谋求破局发展之路。一方面,受疫情因素及经济疲软影响,消费品零售行业整体增速放缓,利润空间下滑,同时叠加行业市场份额竞争加剧,企业迫切需要通过数字化手段实现差异化、精细化运营,提升自身竞争力;另一方面,消费者的消费理念和消费行为不断发生改变,更加注重交互体验和个性化需求,以及便利性、及时性的需求,在触点方面也更加碎片和多元,相应驱动品牌零售企业对营销及运营模式、订单及库存管理、渠道管理、门店运营等多方面进行变革。
爱分析ifenxi
2023/01/18
4080
自如用户画像平台建设实践与营销应用
二是分享自如的达芬奇·用户画像平台的建设实践,帮助大家从整到分地了解用户画像的建设过程,以及应有的功能模块;
肉眼品世界
2021/11/10
2.3K0
自如用户画像平台建设实践与营销应用
推荐系统与精细化运营
随着大数据与人工智能(AI)技术的发展与成熟,国家政策层面对大数据与人工智能技术、创新、创业层面的支持,企业越来越意识到数据和AI技术的价值,并逐步认可数据是企业的核心资产。怎么利用大数据和AI技术从这些价值密度低、源源不断地产生的海量数据中挖掘商业价值,提升公司的决策力和竞争力,是每个提供产品/服务的公司(特别是toC互联网公司)必须思考和探索的问题。
石晓文
2020/03/05
1.5K0
推荐系统与精细化运营
数字化转型:有了CRM后,还需要建设CDP吗?
数字化转型如火如荼,各种系统各种名称眼花缭乱,CRM、DMP、CDP、MA、SCRM、ERP傻傻分不清,CRM系统在信息化时代就已经被广泛接受并使用,在当下数字化营销的新需求之下,很多人会疑惑,我们公司现在已经有了CRM系统,那么到底要不要再搞一套CDP呢?
数据干饭人
2022/12/05
9020
数字化转型:有了CRM后,还需要建设CDP吗?
vivo营销自动化技术解密|开篇
营销自动化是指专门为营销部门或组织设计的软件平台和技术,可以更有效地在线进行多渠道营销并使重复性任务自动化。营销部门和销售人员通过制定任务和流程的操作标准,然后由IT系统进行解释、存储和执行,从而提高效率并减少人为错误。
2020labs小助手
2021/09/13
2.3K0
vivo营销自动化技术解密|开篇
为什么大数据的出口是AI
当今大数据时代,三分技术,七分数据,得数据者得天下,数据是新的原油。而即使获得相同的原油,但是不同的企业由于技术的差异,能够从原油中萃取出来的价值也是不一样的。一般对大数据的价值来说,大家耳熟能详的主要是数据化管理、数据驱动精细化运营等,这些主要还是以分析应用的场景为主,除此之外,大数据还可以借助AI的能力,把价值更加极致地发挥出来。
数据干饭人
2022/07/01
6530
为什么大数据的出口是AI
增长者50|鞋服行业如何把握Z世代体验实现新增长?
据数据统计,Z世代在我国人口数量达到2.6亿,占总人口数量的19%,正在成为新消费、新经济增长的中坚力量。伴随Z世代成为消费主力,种草体质、理性消费、注重体验等正在成为消费品的代名词,新兴消费特征对鞋服品牌来说既是机会也是挑战。 如何把握Z世代消费者的心态与喜好,为之提供更个性化的客户体验,通过一体化的全域营销,把单次交易转化为长效关系? 增长者50【鞋服和零售行业】专场,邀请到李宁、GXG等行业大咖与腾讯企点产品专家,为您解读这一趋势背后的增长新机遇。 从私域到全域 为什么将今年定义为全域增长元年? 腾
腾讯企点
2023/05/23
6610
增长者50|鞋服行业如何把握Z世代体验实现新增长?
【金猿案例展】正官庄——全渠道会员数据治理驱动商业增长
本项目案例由珍岛集团投递并参与“数据猿年度金猿策划活动——《2022大数据产业年度创新服务企业》榜单/奖项”评选。
数据猿
2023/03/03
7880
【金猿案例展】正官庄——全渠道会员数据治理驱动商业增长
推荐阅读
相关推荐
CDP平台赋能精细化运营实践
更多 >
目录
  • LeetCode14.最长公共前缀(Kotlin语言)
    • 题目描述
    • 解题思路
    • 代码
  • 运行测试
  • 参考资料
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档