《苏丹的复仇》携手华为HMS生态,实现用户、收入双增长

中国出海中东和北非地区的策略类手游《苏丹的复仇》(Revenge of Sultans,ROS)和华为HMS生态深度合作,为本地用户带来创新游戏体验,成为当地广受欢迎的游戏之一,下载量居应用市场前列。2023年5月10日,在阿联酋迪拜举办的HUAWEI P60系列及旗舰产品发布会中,ONEMT中东GM敏琦通过视频的方式跟大家分享了《苏丹的复仇》游戏与华为HMS生态深度合作的故事。本次我们对敏琦进行了采访,邀请他分享更多见解。

“此次合作根植于《苏丹的复仇》提升玩家游戏体验的决心。通过集成HMS Core开放能力、上架华为应用市场(HUAWEI AppGallery)、接入华为鲸鸿动能广告平台(Petal Ads),《苏丹的复仇》得以触达超7.3亿华为终端用户,同时帮助我们精准锁定了目标游戏玩家。华为的1+8+N全场景终端设备具备优质的音视频能力以及友好的界面设计,能更好地发挥游戏优势。通过合作,《苏丹的复仇》实现收入同比大幅增长,业务水平达到新高。”

“《苏丹的复仇》最初考虑和华为HMS生态进行合作,是从HMS Core端云开放能力开始,该解决方案提供全流程、全方位的技术支撑,以及丰富的激励扶持资源。其中,消息推送服务(HMS Core Push Kit)和智能分析服务(HMS Core Analytics Kit)的转化事件实时回传功能,促使业务智能决策,及时调整投放策略,有效提升游戏留存与活跃;华为帐号(HMS Core Account Kit)与应用内支付服务(HMS Core In-App Purchases),通过便捷的登录转化及聚合多种支付渠道,帮助我们快速实现商业变现。借助HMS Core端云开放能力,《苏丹的复仇》提升了游戏开发效率及用户体验,促进了业务增长,取得了非常喜人的成果。”

“我们与华为HMS生态合作的首要目标是拓展中东和北非市场,触达更广泛的用户群体。整个合作过程非常顺利,华为的专家团队秉持着专业细致的合作态度,在集成HMS Core的过程中实时提供技术支持,帮助《苏丹的复仇》快速上架华为应用市场。”

华为中东非洲终端生态发展与运营部部长胡小勇表示:“我们很高兴跟《苏丹的复仇》携手,提升中东北非地区的移动游戏体验。事实证明,我们专业的技术支持和运营支持能够帮助合作伙伴提升用户留存及商业变现。在华为HMS生态加持下,《苏丹的复仇》的开发效率、业务发展都得到了提升。此次合作意义重大,未来,我们期待继续和《苏丹的复仇》同行,在游戏行业点亮新的火花。”

《苏丹的复仇》致力于为玩家提供沉浸、创新的手游体验,跟华为HMS生态合作无疑能够实现这一目标。未来《苏丹的复仇》将继续探索更多游戏创新技术,和HMS Core一同为海外消费者带来华为终端上的手游新玩法、新体验。

了解更多详情>>

访问HMS Core 联盟官网

获取HMS Core 开发指导文档

关注我们,第一时间了解 HMS Core 最新技术资讯~

本文转载于网络 如有侵权请联系删除

相关文章

  • 将位序列存储为整数

    将位序列存储为整数如果要将一系列布尔参数传递给方法,一种常见的方法是将它们作为编码为单个整数的位序列传递。例如,Security.System.ExportAll()方法用于从IRIS实例中导出安全设置。如果查看此方法的类引用,将看到它的定义如下:classmethodExportAll(FileNameAs%String="SecurityExport.xml", ByRefNumExportedAs%String,FlagsAs%Integer=-1)as%Status复制第三个参数Flags是一个整数,其中每个位代表一种可以导出的安全记录。Flags-Whattypeofrecordstoexporttothefile,-1=ALL Bit0-System Bit1-Events Bit2-Services Bit4-Resources Bit5-Roles Bit6-Users Bit7-Applications Bit8-SSLConfigs Bit9-PhoneProvider Bit10-X509Credential Bit11-OpenAMIdent

  • OpenNMS分离数据库

    1. 分离数据库 1.1 配置OpenNMS文件 1.我们需要在OpenNMS中修改datasource数据源,在OpenNMS中如下目录:/opt/opennms/etc/opennms-datasources.xml2.将localhost修改为数据库主机IP地址即可<jdbc-data-sourcename="opennms"          database-name="opennms"          class-name="org.postgresql.Driver"          url="jdbc:postgresql://数据库主机IP:5432/opennms"          user-name="opennms"          password="opennms"/> 修改前:修改后:1.2  安装PostgreSQL数据库 1.安装PostgreSql数据库yuminstallpostgresqlpostgresql

  • Web实时消息推送技术总结

    Web实时消息推送技术总结通过轮询、长轮询、iframe流和WebSocket等多种方式实现网页消息的实时推送功能。 前言  消息推送(Push),是指从服务端实时发送信息到客户端,最早诞生于Email中,用于提醒新的消息,想必大家都不陌生。   随着互联网技术的发展,很多网站和移动端应用开始追求用户体验,所以消息推送技术得到了更广泛的应用,常见的有:新闻客户端的热点新闻推荐,IM工具的聊天消息提醒,电商产品促销信息,企业应用的通知和审批流程等等。   通过一些学习和了解,下面我主要总结下几种常用的网页消息推送技术。   针对这几个技术实现,我写过几个很简单的Demo,见https://github.com/wenyuan/py_websocket.git一、双向通信  HTTP协议有一个特点:被动性。   何为被动性呢,其实就是,服务端不能主动联系客户端,只能由客户端发起。   举例来说,我们想获得某个数据,就得是客户端(如浏览器)向服务器发出请求,服务器返回查询结果。HTTP协议做不到服务器主动向客户端推送信息,比如收到新邮件的提示。这种单向请求的特点,注定了如果服务器有连续的状态

  • 单细胞时代 || NGS技术实现

    作者|周运来男,一个长大了才会遇到的帅哥,稳健,潇洒,大方,靠谱。一段生信缘,一棵技能树。生信技能树核心成员,单细胞天地特约撰稿人,简书创作者,单细胞数据科学家。Single-CellRNASequencingandItsCombinationwithProteinandDNAAnalyses这不是最好的时代,也不是最坏的时代,这里是单细胞时代。灵活的单细胞系统,高效的组织解离液,开源的数据分析工具,端到端的单细胞解决方案是未来发展的趋势。这里最主要的是开放灵活的单细胞系统,有了这个系统我们就可以自主地设计反应体系,来从不同纬度捕获单个细胞的信息。我们知道单细胞技术体系中最成熟的要数scRNA-seq了,数据分析也基本上是围绕RNA展开的。在2021年的当下,单细胞数据科学的数据基础主要有:表达谱:大部分解析异质性的方法都是基于表达谱的,如分群/注释/轨迹推断/功能富集。转录调控等比对结果:这里就有转录本的结构信息,可以得到等位基因/转录本剪切等情况(当然是技术平台而定)自定义新的seq技术。单细胞就像一个巧克力盒,大家都在从里面拿黑巧克力,我们设计一个seq方法可以同时抓到黑白两种巧

  • mysql主从备份及原理分析

    一.mysql主从备份(复制)的基本原理 mysql支持单向、异步复制,复制过程中一个服务器充当主服务器,而一个或多个其它服务器充当从服务器。mysql复制基于主服务器在二进制日志中跟踪所有对数据库的更改(更新、删除等等)。因此,要进行复制,必须在主服务器上启用二进制日志。每个从服务器从主服务器接收主服务器已经记录到其二进制日志的保存的更新。当一个从服务器连接主服务器时,它通知主服务器从服务器在日志中读取的最后一次成功更新的位置。从服务器接收从那时起发生的任何更新,并在本机上执行相同的更新。然后封锁并等待主服务器通知新的更新。从服务器执行备份不会干扰主服务器,在备份过程中主服务器可以继续处理更新。 二.mysql主从备份配置方法 在进行mysql主从备份时,最好确保主从服务器的版本兼容。从服务器至少与主服务器版本相同或更高。 主机(master)配置: 1.修改mysql配置文件my.cnf 在[mysqld]标签下添加以下几行 log-bin#开启二进制日志 server-id=id#主服务器id号 binlog-do-db=db_nameA#指定对db_nameA记录二进制日志

  • 波粒大战从牛顿到爱因斯坦持续300年(8k字)

    科学Sciences导读:探寻物理规律的科学史。公号对话框发送“波粒战争”获取9k字35图21页PDF波粒大战从牛顿到爱因斯坦持续300年。关键词:波动性,粒子性,波粒二象性,牛顿力学,光学,物理学。QinlongGEcai微信被封,转向自用、科普文章、学术论文OAJ电子刊免费开放获取。秦农序1I.波粒大战从牛顿到爱因斯坦持续300年(5k字)1第一次波粒大战1第二次波粒大战5第三次波粒大战12Appx.素材(3h字)20秦农跋 20世界究竟是什么?这是一个哲学命题也是一个科学命题,在科学还没有进入微观世界之前,光这种迷人而又耀眼的存在一直吸引着科学家们的目光,光究竟是什么呢?这个问题在科学界的脑海里产生之后,由此诞生了一场长达300年的波粒之战。这场持续300年的波粒大战,由牛顿开始,在爱因斯坦的理论中结束。 第一次波粒大战第一次波粒之战,牛顿还是一个绕不开的话题(当然,第二次也绕不开),你会发现翻阅整个物理学发展史,牛顿、爱因斯坦、玻尔、麦克斯韦这几个人都是很难绕得开的存在。在1660年,牛顿的一生死敌胡克发表了他的光波动理论。他认为光线在一个名为发光以太的介质中以波的形式四射,并

  • C语言中的字符串可以怎么处理?

    strlen函数:求字符串的长度size_tstrlen(constchar*s)头文件:#include<string.h>说明:求出s指向的字符串的长度(不包括null字符)。返回值:返回s指向的字符串的长度。size_tstrlen(constchar*s) { size_tlen=0; while(*s++) len++; returnlen; }复制strcpy和strncpy函数:复制字符串charstrcpy(chars1,constchar*s2)头文件:#include<string.h>说明:将s2指向的字符串复制到s1指向的数组中。若s1和s2指向的内存空间重叠,则作未定义处理。返回值:返回s1的值。char*strcpy(char*s1,constchar*s2) { char*tmp=s1; while(*s1++=*s2++) ; returntmp; }复制charstrncpy(chars1,constchar*s2,size_tn);头文件:#include<string.h>说明:将s2指向的字符串复制到s1指向的

  • 数据库技术:JDBC,预处理对象,事务控制

    IntroductiontoJDBCWhatisJDBC?JDBC(JavaDataBaseConnectivity)是Java访问数据库的标准规范。是一种用于执行SQL语句的JavaAPI,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。是Java访问数据库的标准规范。MechanismofJDBCJDBC是接口,驱动是接口的实现,没有驱动将无法完成数据库连接,从而不能操作数据库。每个数据库厂商都需要提供自己的驱动,用来连接自己公司的数据库,也就是说驱动一般都由数据库生产厂商提供。JDBC就是由sun公司定义的一套操作所有关系型数据库的规则(接口),而数据库厂商需要实现这套接口,提供数据库驱动jar包,我们可以使用这套接口编程,真正执行的代码是对应驱动包中的实现类。 JDBCAPIDataPreparation在MySQL中准备好以下数据CREATEDATABASEdb4CHARACTERSETutf8; USEdb4; --创建jdbc_user表 CREATETABLEjdbc_user( idINTPRIMARYKEYAUTO_INCREMENT

  • 解读疫情下的区块链,腾讯新加速器助力产业生态

    突如其来的新冠疫情,为各⾏各业带来了严峻的考验,区块链行业也不例外。如今,在国内抗疫局势稍有缓解的情况下,反观数字技术在疫情中的应⽤,有人指出原本可以实现更透明、更⾼效的区块链在“数字抗疫”中似乎呈现出缺位状态。 那么,相较于AI、云计算、大数据,区块链在这次新冠疫情中是否存在缺位现象?作为新兴技术之⼀,区块链如何协同其他技术协同发展,助力企业降本增能,又有那些典型的落地场景应用?在数字新基建背景下,疫情给区块链技术的场景应⽤带来了怎样的机遇?从投资者角度来看,区块链技术发展的哪些⽅向或赛道更值得关注,2020年区块链⾏业的前景如何?大灾之下,区块链⾯临的究竟是挑战还是机会?4月23日,腾讯研究院、腾讯云、腾讯区块链加速器和腾讯FIT区块链将携手开展数字转型线上策略会,共同探讨疫情下区块链产业的缺位、共识与机遇。策略会还将邀请同济⼤学智慧城市研究与电⼦治理所所⻓周向红,中国(上海)⾃贸区研究院⾦融研究室主任刘斌,分布式资本合伙⼈姚镜仪,腾讯区块链技术总经理李茂材,腾讯云区块链⾸席架构师敖萌等区块链行业顶级大咖,为区块链企业和从业人员答疑解惑,提供最前沿的思路和指导。在本次策略会上,腾讯

  • 解析一下WordCount项目

    那么我们先来看看这个项目是干什么的。假设这里有一份文本,里面写了很多单词,当然要有分隔的输入,如下图:我们需要统计文本中每个单词出现的次数,我们看看怎么完成的。 1那么我们先来简单地看看项目逻辑,他到底是怎么完成简单的单词计数的。看图。很显然,首先我们拿到文本不是立刻就送去MapReduce中处理,而是先通过一个叫做TextInputFormat的类,处理好原有文本的数据,用偏移量逐个表识。然后再传入map中处理。然而map只是对单词进行简单的编号(同时编上1),在再进入reduce类之前,先通过迭代器(图中黑色部分,等会会补上),把map的数据简单的处理,如上图的hadoop为例,迭代器的内容就是<hadoop,iterator(1,1)>,那么在reduce类中,我们只要统计好迭代器中的数值就好了。2那我们开始写自己的map类。上代码。//1、自己的map类 //继承Mapper类,<KEYIN,VALUEIN,KEYOUT,VALUEOUT>输入的key,输入的value,输出的key,输出的value publicstaticclassMyMappere

  • MySQL8.0新特性集锦

    作者:偏执的工匠 https://www.jianshu.com/p/be29467c2b0c1.默认字符集由latin1变为utf8mb4 在8.0版本之前,默认字符集为latin1,utf8指向的是utf8mb3,8.0版本默认字符集为utf8mb4,utf8默认指向的也是utf8mb4。2.MyISAM系统表全部换成InnoDB表系统表全部换成事务型的innodb表,默认的MySQL实例将不包含任何MyISAM表,除非手动创建MyISAM表。#MySQL5.7 mysql>selectdistinct(ENGINE)frominformation_schema.tables; +--------------------+ |ENGINE| +--------------------+ |MEMORY| |InnoDB| |MyISAM| |CSV| |PERFORMANCE_SCHEMA| |NULL| +--------------------+ 6rowsinset(0.00sec) #MySQL8.0 mysql>selectdistinct(ENGINE)

  • MySQL事务隔离级别和Spring事务关系介绍

    点击上方“Java技术驿站”,选择“置顶公众号”。有内涵、有价值的文章第一时间送达!精品专栏死磕Java并发死磕Sharding-jdbc事务隔离级别介绍隔离级别脏读不可重复读幻读未提交读(Readuncommitted)可能可能可能已提交读(Readcommitted)不可能可能可能可重复读(Repeatableread)不可能不可能可能可串行化(Serializable)不可能不可能不可能未提交读(ReadUncommitted):允许脏读,也就是可能读取到其他会话中未提交事务修改的数据提交读(ReadCommitted):只能读取到已经提交的数据。Oracle等多数数据库默认都是该级别(不重复读)可重复读(RepeatedRead):可重复读。在同一个事务内的查询都是事务开始时刻一致的,InnoDB默认级别。在SQL标准中,该隔离级别消除了不可重复读,但是还存在幻象读,但是innoDB解决了幻读串行读(Serializable):完全串行化的读,每次读都需要获得表级共享锁,读写相互都会阻塞接下来一次来验证每个隔离级别的特性,首先我们先建一张表,我们建立账户表account用来测试

  • android自定义状态栏颜色

    我们知道IOS上的应用,状态栏的颜色总能与应用标题栏颜色保持一致,用户体验很不错,那安卓是否可以呢?若是在安卓4.4之前,答案是否定的,但在4.4之后,谷歌允许开发者自定义状态栏背景颜色啦,这是个不错的体验!若你手机上安装有最新版的qq,并且你的安卓SDK版本是4.4及以上,你可以看下它的效果:实现此功能有两种方法:1.在xml中设置主题或自定义style;Theme.Holo.Light.NoActionBar.TranslucentDecor  复制Theme.Holo.NoActionBar.TranslucentDecor  复制<stylename="AppTheme"parent="AppBaseTheme"> <!-- Status Bar --> <itemname="android:windowTranslucentStatus">true</item> <!-- Navigation Bar --> <itemname="andro

  • 谣言检测——(PSA)《Probing Spurious Correlations in Popular Event-Based Rumor Detection Benchmarks》

    论文信息 论文标题:ProbingSpuriousCorrelationsinPopularEvent-BasedRumorDetectionBenchmarks论文作者:JiayingWu、BryanHooi论文来源:2022, ECML-PKDD论文地址:download 论文代码:download  Abstract    开源的数据集存在虚假相关性,这种虚假相关性来自三个方面: event-baseddatacollectionandlabelingschemesassignthesameveracitylabeltomultiplehighlysimilarpostsfromthesameunderlyingevent; mergingmultipledatasourcesspuriouslyrelatessourceidentitiestoveracitylabels; labelingbias;    

  • CPU过高的排查方法

    一个应用占用CPU很高,除了确实是计算密集型应用之外,通常原因都是出现了死循环。 (友情提示:本博文章欢迎转载,但请注明出处:hankchen,http://www.blogjava.net/hankchen) 以我们最近出现的一个实际故障为例,介绍怎么定位和解决这类问题。 根据top命令,发现PID为28555的Java进程占用CPU高达200%,出现故障。 通过psaux|grepPID命令,可以进一步确定是tomcat进程出现了问题。但是,怎么定位到具体线程或者代码呢? 首先显示线程列表: ps-mppid-oTHREAD,tid,time 找到了耗时最高的线程28802,占用CPU时间快两个小时了! 其次将需要的线程ID转换为16进制格式: printf"%x\n"tid 最后打印线程的堆栈信息: jstackpid|greptid-A30 找到出现问题的代码了! 现在来分析下具体的代码:ShortSocketIO.readBytes(ShortSocketIO.java:106) ShortSocketIO是应用封装的一个用短连接Socket通信的工具类。readBy

  • 什么是 Flatpak?您需要了解的有关此通用包装系统的所有重要信息

      最近更新时间2020年10月18日通过AnkushDas  14评论   在阅读应用程序的安装说明时,您经常会遇到“ Flatpak”、“ Snap ”和“ AppImage ”等术语。 您可能已经在Linux上使用过其中的一些——但可能并不真正知道它们是什么。Flatpak、Snap和AppImage它们是“通用包装系统”。 在Linux行话终结者的早期文章中,您了解了Linux中的包管理器。所以我不会再用包装来打扰你了。我将重点介绍什么是Flatpak以及它如何尝试作为通用包装系统解决问题。 什么是Flatpak? Flatpak是一个包管理实用程序,可让您分发、安装和管理软件,而无需担心依赖项、运行时或Linux分发。由于无论在Linux发行版(无论是基于Debian的发行版还是基于Arch的发行版)上,您都可以毫无问题地安装软件,因此Flatpak被称为通用软件包。 如果您好奇,AlexanderLarsson是创建Flatpak的人,Flatpak的历史可以追溯到2007年夏天。您

  • ghost系统后全盘重新分区的数据找回办法

    重新分区是由于在重装系统时,选择了错误的选项导致全盘分区了,装完之后数据全部丢失。想要恢复丢失盘的数据,需要注意,别往现在的这个盘存入新的文件(因为现在存入的文件可能会覆盖原先DEF盘的数据)。可以把硬盘拆下来挂到别的电脑当副盘或者接个移动硬盘,把数据恢复到移动硬盘里。具体的恢复方法看下文了解。 工具/软件:AuroraDataRecovery 步骤1:先百度搜索并下载软件打开后,直接双击需要恢复的分区,接着解压再右击软件图标选择《以管理员身份运行》软件。 步骤2:程序运行后,直接双击需要恢复数据的物理盘,重新分区需要从物理盘恢复数据。 步骤3:坐等软件扫描完成平均需要几分钟到半个小时。 步骤4:软件会很快将找到的文件,放到《恢复的分区》目录中。 步骤5:勾上所有需要恢复的文件,右击选择《复制勾选的文件》,程序会将勾上的文件COPY出来。 步骤6:最后一步只需等待软件将资料COPY完毕就完毕了。 注意事项1:重新分区恢复出来的数据需要暂时保存到其它盘里。 注意事项2:想要恢复重新分区需要注意,在数据恢复之前,不要往C盘存入新的文件。  

  • C语言-结构体详解

    目录引入使用结构体来创建新的数据类型声明结构体类型的变量结构体变量的初始化什么时候我们需要定义结构体使用结构体的注意点结构体变量的初始化结构体类型的作用域结构体变量之间的相互赋值结构体数组结构体数组的初始化结构体数组的长度计算结构体指针结构体嵌套什么时候会有结构体嵌套结构体与函数 引入 我们前面看到的数据类型 int double float char 数组 指针 ..... 不同的数据类型的变量是用来报错不同类型的数据的,那么请声明一个变量,用来保存一个人的年龄 思考下,年龄目前看不可能有负数的,最大也有200左右吧,那么占用1个字节就可以了 unsignedcharage=18 intage=18 声明一个人的身高用float,等 一个变量就来存储一个数据,描述这个数据 请声明一个变量来保存一个学生,那用什么类型来保存这个学生信息呢? 但是我们之前学习的任何一个变量都不行 一个学生的信息: 姓名:字符串 年龄:int 性别:字符串 成绩:int 一个学生的信息至少需要上面的那几个数据联合起来描述的,如果我们要标识一个学生,就需要多

  • 遇的问题

    1、sql日期转换报错     selectProductionDate,DeptName,BranchCode,BranchName,WorkshopCode,WorkshopName,item,HaltName,SUM(HaltPeriod)ASHaltPeriod ,casebzwhen'A'then'甲'when'B'then'乙'when'C'THEN'丙'endasBZfrombus_gtd wherevalid='1'andDeptName='炼铁事业部'andconvert(varchar(10),ProductionDate,120)='${GtoDate}' groupbyProductionDate,DeptName,BranchCode,BranchName,WorkshopCode,WorkshopName,BZ,item,HaltName ORDERBYBranchCode,WorkshopCode,bus_gtd.BZ复制 sql 里将日期型转成字符型

  • 电商商品数据库设计(转载)

    在电商系统中,商品模型至关重要,是整个电商的核心,下面通过一个简单的分析,设计一个基础的商品模型。 商品模型的演化 在以前,那时CMS很流行,最常见的模型是栏目–文章模型。于是做电商的时候,自然就继承了这种一对多的关系。只是栏目变成了分类,文章变成了商品。商品也具备了独特的业务属性。现在很多电商网站上左侧的菜单,也就是这个分类。 后来我们慢慢发现一个问题,只有分类并不能适应所有的需求,比如nike鞋和nikeT恤,用户可能希望先看nike的所有商品,这个模型就不能满足。我们想在这个关系中,加入“品牌”概念。于是: 这样基本用户可以在首页上通过分类或者品牌找到自己想要的商品,也可以直接查看热门的商品和新上架的商品。但是问题也来了,用户在进入分类后,展示在用户面前的是很多很多商品,用户希望再通过筛选查询出更接近他目标的商品。于是优秀的产品设计师,设计出了类似这样的UI: 用户可以通过这些筛选条件进一步缩小自己的目标范围,那么问题又来了,这样的产品需求排在程序员面前,怎么去实现它?经过分析,我们找出了一个方法,我们知道商品之间的属性可能存在着较大的差别,比如牛仔裤它有版型、腰型、裤长等属

  • 电话号码的自由组合

    给定一个仅包含数字2-9的字符串,返回所有它能表示的字母组合。 给出数字到字母的映射如下(与电话按键相同)。注意1不对应任何字母。dianhua 示例: 输入:"23"输出:["ad","ae","af","bd","be","bf","cd","ce","cf"].   代码如下: classSolution(object): defletterCombinations(self,digits): """ :typedigits:str :rtype:List[str] """ #创建字母对应的字符列表的字典 dic={2:['a','b','c'], 3:['d','e','f'], 4:['g','h','i'], 5:['j','k','l'], 6:['m','n','o'], 7:['p','q','r','s'], 8:['t','u','v'], 9:['w','x','y','z'], } #存储结果的数组 ret_str=[] iflen(digits)==0:return[] #递归出口,当递归到最后一个数的时候result拿到结果进行for循环遍历

相关推荐

推荐阅读