题目链接:3707. 相等子字符串分数(简单)
算法原理:
👉对应力扣题解
解法:前缀和
1ms击败100.00%
时间复杂度O(N)
思路很简单,利用前缀和数组存储前缀和,再遍历一遍数组,意在遍历每个分割点,判断前面的总和是否等于后面的总和,其中后面的总和=总的和-前面总和
Java代码:
class Solution { public boolean scoreBalance(String s) { int n=s.length(); int[] sumf=new int[n+1]; for(int i=0;i<n;i++){ sumf[i+1]=sumf[i]+s.charAt(i)-'a'+1; } //遍历每一个可能的分割点 for(int i=1;i<n;i++){ int left=sumf[i]; int right=sumf[n]-sumf[i]; if(left==right) return true; } return false; } }