当前位置: 首页 > news >正文

网站绑定两个域名怎么做跳转互联网运营推广

网站绑定两个域名怎么做跳转,互联网运营推广,wordpress目录upgrade,wordpress 主题未翻译题目描述: 给定非空字符串s,将该字符串分割成一些子串,使每个子串的ASCII码值的和均为水仙花数。 1、若分割不成功,则返回0。 2、若分割成功且分割结果不唯一,则返回-1。 3、若分割成功且分割结果唯一,则返…

题目描述:

给定非空字符串s,将该字符串分割成一些子串,使每个子串的ASCII码值的和均为水仙花数。
1、若分割不成功,则返回0。
2、若分割成功且分割结果不唯一,则返回-1。
3、若分割成功且分割结果唯一,则返回分割后子串的数目。
输入描述:1、输入字符串的最大长度为200。
输出描述:根据题目描述中情况,返回相应的结果。
补充说明:“水仙花数Q“是指一个三位数,每位上数字的立方和等于该数字本身,如371是"水仙花数",因为:371=33+73+1^3。
示例1,输入:,abc,输出:0,说明:分割不成功。
示例2,输入:f3@d5a8,输出:-1,说明:分割成功但分割结果不唯一,可以分割为两组,一组"f3"和"@d5a8",另外一组"f3@d5"。

代码实现:

import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;public class NarcissisticSubstringSplitter {// 判断一个整数是否是水仙花数private static boolean isNarcissistic(int number) {// 用于计算每个位上数字的立方和int sum = 0;// 临时变量,用于逐步取整数的每一位int temp = number;// 循环直到临时变量为0,遍历整数的每一位while (temp > 0) {// 获取当前位的数字int digit = temp % 10;// 将当前位数字的立方值累加到总和上sum += digit * digit * digit;// 临时变量缩小到下一位temp /= 10;}// 如果计算的立方和等于原始数字,则该数字是水仙花数return sum == number;}// 递归函数来尝试所有可能的子串分割private static void findSplits(String s, int start, List<String> currentSplit, Set<List<String>> resultSet) {// 当起始位置到达字符串末尾时,检查当前分割是否由自恋子串组成if (start == s.length()) {// 确保当前分割至少包含一个子串if (currentSplit.size() > 0) {// 假设所有子串都是自恋子串boolean allNarcissistic = true;// 遍历当前分割中的每个子串for (String subStr : currentSplit) {// 计算子串的ASCII值之和int asciiSum = 0;for (char c : subStr.toCharArray()) {asciiSum += (int) c;}// 如果子串的ASCII值之和不是自恋数,则标记为非自恋子串并跳出循环if (!isNarcissistic(asciiSum)) {allNarcissistic = false;break;}}// 如果当前分割中的所有子串都是自恋子串,则将其添加到结果集中if (allNarcissistic) {resultSet.add(new ArrayList<>(currentSplit));}}// 递归结束,返回上一级递归return;}// 尝试不同的子串分割位置for (int i = start; i < s.length(); i++) {// 获取从起始位置到当前位置的子串String subStr = s.substring(start, i + 1);// 将子串添加到当前分割中currentSplit.add(subStr);// 递归调用findSplits函数,尝试下一级子串分割findSplits(s, i + 1, currentSplit, resultSet);// 回溯,移除最后一个子串,尝试其他可能的分割currentSplit.remove(currentSplit.size() - 1);}}/*** 分割字符串成唯一大小的组* @param s 待分割的字符串* @return 返回分割结果的大小如果分割不成功返回0,如果分割结果不唯一返回-1,如果分割成功且结果唯一返回分割结果的大小*/public static int splitString(String s) {// 存储所有可能的分割结果的集合每个元素是一个分割方案的列表Set<List<String>> resultSet = new HashSet<>();// 当前的分割结果列表List<String> currentSplit = new ArrayList<>();// 递归查找所有可能的分割findSplits(s, 0, currentSplit, resultSet);// 如果集合为空,说明没有找到有效的分割方案if (resultSet.isEmpty()) {return 0; // 分割不成功} else if (resultSet.size() > 1) {// 如果集合大小大于1,说明有多个不同的分割方案,结果不唯一return -1; // 分割成功但分割结果不唯一} else {// 集合大小为1,说明找到了唯一的分割方案return resultSet.iterator().next().size(); // 分割成功且分割结果唯一}}public static void main(String[] args) {// 示例测试  System.out.println(splitString("abc")); // 输出: 0  System.out.println(splitString("f3@d5a8")); // 输出: -1  // 可以添加更多测试用例来验证  }
}

解释

  1. isNarcissistic函数:判断一个整数是否是水仙花数。
  2. findSplits函数:递归函数,尝试所有可能的子串分割,并检查这些子串的ASCII码值之和是否都是水仙花数。使用回溯法来尝试所有可能的分割。
  3. splitString函数:调用findSplits函数,并根据结果集的大小返回相应的结果。

注意:上述代码中的isNarcissistic函数是用来判断一个整数是否是水仙花数,但在实际分割过程中,我们计算的是子串中字符ASCII码值的和。因此,在findSplits函数中,我们计算了每个子串的ASCII码值之和,并检查其是否为水仙花数。

测试用例

  • 输入"abc",输出0,因为无法分割成ASCII码值之和为水仙花数的子串。
  • 输入"f3@d5a8",输出-1,因为可以分割成多组满足条件的子串(尽管在这个例子中,“f3"和”@d5a8"的ASCII码值之和并不是水仙花数,但示例可能只是为了说明可以有多种分割方式,而实际代码会正确计算ASCII码值之和并检查水仙花数)。实际上,根据ASCII码值和的计算,"f3@d5a8"这样的字符串很难直接分割成满足条件的子串,但代码逻辑是正确的,可以根据实际需求调整或添加更多测试用例。
http://www.hkea.cn/news/164305/

相关文章:

  • 做网站用哪种代码比较好推广seo发贴软件
  • 3d效果图软件宁波seo行者seo09
  • 美国做按摩广告的网站网站优化教程
  • wordpress云建站教程信息流广告公司一级代理
  • 我有一个域名怎么做网站百度一下下载
  • 郑州网站建设品牌好安装百度到桌面
  • 株洲做网站定制百度灰色词优化排名
  • 上海网页设计公司兴田德润电话排名优化外包公司
  • 做360网站优化快推广普通话宣传语手抄报
  • 动态网站开发语言有哪些大学生创新创业大赛
  • 关键词推广公司网站网络排名优化方法
  • 福州移动网站建设网络营销推广工具有哪些
  • win2008sr怎么用iis做网站国外网站加速
  • 合肥++网站建设磐石网站seo
  • 万网主机怎么上传网站如何在百度上投放广告
  • 做网站时如何给文字做超链接全球疫情最新数据消息
  • 四川省住建厅官方网站3分钟搞定网站seo优化外链建设
  • 做网站阳泉巨量千川广告投放平台
  • 温岭哪里有做网站的如何自制网站
  • 知道创于 wordpress搜索引擎优化宝典
  • 乌兰县wap网站建设公司有效获客的六大渠道
  • 微信网站开发教程视频教程百度一下主页官网
  • 网站开发专业前景关键词挖掘排名
  • 网站开发属于什么职位类别seo查询站长工具
  • wordpress postmetaseoul national university
  • 商务网站的主要存在形式杭州百度快照优化公司
  • 个人备案网站做购物网站可以不班级优化大师免费下载电脑版
  • 贸易网站建设互联网广告代理加盟
  • 深圳网站建设网络公司河北关键词排名推广
  • 在工商网上怎么注册公司seo优化博客