美文网首页
2022-01-13 747至少是其他数字两倍的最大数 哈希表

2022-01-13 747至少是其他数字两倍的最大数 哈希表

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

    送分题不做赘述。
    Go版本:

    func dominantIndex(nums []int) int {
        if(len(nums)<2){
            return 0;
        }
        max,loc:=math.MinInt64,0;
        for  key,_:=range nums{
            if(nums[key]>max){
                max=nums[key];
                loc=key;
            }
    
        }
        count:=0;
          for  key,_:=range nums{
            if(nums[key]*2>max){
              count++;
            }
    
        }
        if count>1{
            return -1;
        }
        return loc;
    }
    

    剑指 Offer II 032. 有效的变位词

    给定两个字符串 st ,编写一个函数来判断它们是不是一组变位词(字母异位词)。
    注意:*s**t*中每个字符出现的次数都相同且字符顺序不完全相同,则称 *s**t*互为变位词(字母异位词)。

    哈希表一套就行了
    Go版本

    func isAnagram(s string, t string) bool {
    
     if(len(s)!=len(t)){
         return false;
     }
     map1,map2:=make(map[int]int),make(map[int]int);
    
     count:=0;
     for i:=0;i<len(s);i++{
         if s[i]==t[i]{
             count++;
         }
         map1[int(s[i]-'a')]++;
         map2[int(t[i]-'a')]++;
     }
     if count==len(s){
         return false;
     }
     for key,_:=range map1{
         if(map1[key]!=map2[key]){
             return false;
         }
        
     }
     return  true;
    
    
    }
    

    字符串数组 strs 排序:// sort.Sort(sort.StringSlice(strs));
    单个字符串 value排序: s := strings.Split(value, ""); sort.Strings(s) ; value_s:=strings.Join(s, "")

    相关文章

      网友评论

          本文标题:2022-01-13 747至少是其他数字两倍的最大数 哈希表

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