StringBuffer常見方法:charAt(index) setChat(index,value)
substring(int beginIndex, int endIndex)
reverse()
indexOf(String str)
最后轉(zhuǎn)String toString()
java版本:
class Solution {
public String modifyString(String s) {
int left=-1,right=-1;
int n=s.length();
String arr="abcdefghijklmnopqrstuvwxyz";
StringBuffer buffer=new StringBuffer(s);
for(int i=0;i<n;i++){
left=-1;right=-1;
if(buffer.charAt(i)=='?'){
if(i-1>=0 && buffer.charAt(i-1)!='?' ){
left=buffer.charAt(i-1)-'a';
}
if(i+1<n && buffer.charAt(i+1)!='?'){
right=buffer.charAt(i+1)-'a';
}
// System.out.println(left);
// System.out.println(right);
for(int j=0;j<26;j++){
if(j!=left && j!=right){
// System.out.println(j);
buffer.setCharAt(i,arr.charAt(j));
break;
}
}
}
}
return buffer.toString();
}
}
II 010 和為 k 的子數(shù)組]
前綴和:
java版本:
class Solution {
public int subarraySum(int[] nums, int k) {
// for
Map<Integer,Integer> map=new HashMap<>();
map.put(0,1);
int sum=0,count=0;
for(int i=0;i<nums.length;i++){
sum+=nums[i];
count+=map.getOrDefault(sum-k,0);
map.put(sum,map.getOrDefault(sum,0)+1);
}
return count;
}
}