美文网首页
2022-01-05 1576. 替换所有的问号

2022-01-05 1576. 替换所有的问号

作者: 16孙一凡通工 | 来源:发表于2022-01-05 11:14 被阅读0次

    StringBuffer常见方法:charAt(index) setChat(index,value)
    substring(int beginIndex, int endIndex)
    reverse()
    indexOf(String str)
    最后转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 的子数组]

    前缀和:
    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;
           
        }
    }
    
    

    相关文章

      网友评论

          本文标题:2022-01-05 1576. 替换所有的问号

          本文链接:https://www.haomeiwen.com/subject/iwphcrtx.html