アプローチ
- hashset
- 同様のCharを持ってくる
- 同様のCharスタート時点から終了時点の間のCharを取得
- 上記で取得したCharをHashSetで入れる(他のCharを取得)
- 結果を合算する
- 結果を出す
class Solution {
public int countPalindromicSubsequence(String s) {
int result = 0;
for (int i = 'a'; i < 'z'; i++) {
int firstOccurence = s.indexOf(i);
int lastOccurrence = s.lastIndexOf(i);
if (firstOccurence != -1 && lastOccurrence != -1 && firstOccurence < lastOccurrence) {
HashSet<Character> set = new HashSet<>();
for (int z = firstOccurence + 1; z < lastOccurrence; z++) {
set.add(s.charAt(z));
}
result += set.size();
}
}
return result;
}
}