goleetcode

27. 移除元素

func removeElement(nums []int, val int) int {
    for i:=0; i<len(nums);i++ {
        if nums[i] == val {
            nums = append(nums[:i], nums[i+1:]...)
            i--
        }
    }
    return len(nums)
}

26. 删除有序数组中的重复项

func removeDuplicates(nums []int) int {
    if len(nums) == 0 {
        return 0
    }
    left := 1 // 用于计数
    for right := 1; right < len(nums); right++ {
        if nums[right] != nums[right-1] {
            nums[left] = nums[right] // 不相等时,要更新基准比较的值
            left++
        }
    }
    return left
}
// 出现两次的
func removeDuplicates(nums []int) int {
    n := len(nums)
    if n <= 2 {
        return n
    }
    slow, fast := 2, 2
    for fast < n {
        if nums[slow - 2] != nums[fast] {
            nums[slow] = nums[fast]
            slow++
        }
        fast++
    }
    return slow
}

2843、对称整数的数目

class Solution:
    def countSymmetricIntegers(self, low: int, high: int) -> int:
        res = 0
        for i in range(low, high + 1):
            s = str(i)
            n = len(s)
            if n < 2 or n % 2 == 1:
                continue
            if sum(map(int, s[:n // 2])) == sum(map(int, s[n // 2:])):
                res += 1
        return res

3517、寻找最小回文子
给你一个 回文 字符串 s。
返回 s 的按字典序排列的 最小 回文排列。

func smallestPalindrome(s string) string {
    n := len(s)
    t := []byte(s[:n/2])
    slices.Sort(t)

    ans := string(t)
    if n%2 > 0 {
        ans += string(s[n/2])
    }
    slices.Reverse(t)
    return ans + string(t)
}

2537统计好子数组的数量

class Solution {
public:
    long long countGood(vector<int>& nums, int k) {
        unordered_map<int,int> hash;
        int n = nums.size();
        long long ans=0;
        long long pairs=0;
        int left=0;
        for(int i=0;i<n;i++){
            if(hash.find(nums[i])!=hash.end()&&hash[nums[i]]!=0){
                pairs+=hash[nums[i]];
                hash[nums[i]]++;
                while(pairs>=k){
                    ans+=(n-i);
                    pairs-=(--hash[nums[left++]]);
                }
            }else hash[nums[i]]=1;
        }
        return ans;
    }
};
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容