男女做羞羞事试看网站,做网站的公司怎么做业务,柳市做网站制作,seo加wordpress工程师题目描述
给定一个小写字母组成的字符串s#xff0c;请找出字符串中两个不同位置的字符作为分割点#xff0c;使得字符串分成的三个连续子串且子串权重相等#xff0c;注意子串不包含分割点。 若能找到满足条件的两个分割点#xff0c;请输出这两个分割点在字符串中的位置…题目描述
给定一个小写字母组成的字符串s请找出字符串中两个不同位置的字符作为分割点使得字符串分成的三个连续子串且子串权重相等注意子串不包含分割点。 若能找到满足条件的两个分割点请输出这两个分割点在字符串中的位置下标若不能找到满足条件的分割点请返回0,0。
子串权重计算方式为子串所有字符的ASCII码数值之和。
输入描述
输入为一个字符串字符串由a~z26个小写字符组成5 字符串长度 200。
输出描述
输出为两个分割点在字符串中的位置下标以逗号分隔
补充说明
只考虑唯一解不存在一个输入多种输出解的情况
收起
示例1
输入
acdbbbca输出
2,5说明
以位置2和5作为分割点将字符串分割为acbbca三个子串每一个的子串权重都为196输出为2,5示例2
输入
abcabc输出
0,0说明
找不到符合条件的分割点输出为0,0题目解析
解题思路
使用贪心算法遍历不同的切分点将数据切分成三块 注意切分点的位置即可 切点i从1开始到length-4 切点j从i2开始到length-2
java实现
package com.HW;/*** ClassName : TstrCutWeight* Author : kele* Date: 2023/10/24 22:01* Description :字符串划分*/
public class TstrCutWeight {public static void main(String[] args) {handle(acdbbbca);}public static void handle(String str) {char[] chars str.toCharArray();for (int i 1; i chars.length - 3; i) {for (int j i 2; j chars.length - 1; j) {String s1 str.substring(0, i);String s2 str.substring(i 1, j);String s3 str.substring(j 1, chars.length);if (Weight(s1) Weight(s2) Weight(s2) Weight(s3)) {System.out.println(i , (j));return;}}}System.out.println(0,0);}public static int Weight(String str) {int sum 0;for (char c : str.toCharArray()) {sum (int) c;}return sum;}
}