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

送分题不做赘述。
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, "")

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容