首页 > 其他分享 >LeetCode_单周赛_327

LeetCode_单周赛_327

时间:2023-01-09 10:33:19浏览次数:59  
标签:26 return nums int LeetCode ++ 327 ans 单周赛

目录

6283. 正整数和负整数的最大计数

在这里插入图片描述

代码

直接遍历统计即可

class Solution {
    public int maximumCount(int[] nums) {
        int a = 0, b = 0;
        for (int i = 0; i < nums.length; i++) {
            if (nums[i] > 0) a++;
            else if (nums[i] < 0) b++;
        }
        
        return Math.max(a, b);
    }
}

6285. 执行 K 次操作后的最大分数

在这里插入图片描述

代码

用最大堆即可
ceil是上取整,操作数和返回值都是 double,需要强转,可能会出现浮点错误,所以使用整数运算规避。
ceil(a / b) = (a + b - 1) / b

class Solution {
    public long maxKelements(int[] nums, int k) {
        PriorityQueue<Integer> pq = new PriorityQueue<>(new Comparator<Integer>() {
            @Override
            public int compare(Integer o1, Integer o2) {
                return o2 - o1;
            }
        });
        int n = nums.length;
        for (int i = 0; i < n; i++) pq.add(nums[i]);
        long ans = 0;
        while (k-- > 0) {
            int t = pq.peek();
            pq.poll();
            ans += t;
            // int q = (int) Math.ceil(t / 3.0);
            int q = (t + 2) / 3;
            pq.add(q);
        }
        
        return ans;
    }
}

6284. 使字符串总不同字符的数目相等

在这里插入图片描述

代码

比赛的时候看错题了,想错了,以为暴力模拟是 1e5 x 1e5,时间不够
其实只模拟 26 个字母即可,复杂度是 26 x 26
先求出来各自不同字母的数量,还有字母映射到数组中
遍历两个哈希数组,交换字母判断即可

  1. 如果当前不存在该字母,跳过此次循环
  2. 如果两个字符串有相同字母,并且 不同字母数相同,返回 true
  3. 交换两个字符,判断两字符串不同字母个数是否相同即可
class Solution {
    public boolean isItPossible(String s1, String s2) {
        int[] a = new int[26], b = new int[26];
        int x = 0, y = 0;
        for (int i = 0; i < s1.length(); i++) {
            int t = s1.charAt(i) - 'a';
            a[t]++;
            if (a[t] == 1) x++;
        }
        for (int i = 0; i < s2.length(); i++) {
            int t = s2.charAt(i) - 'a';
            b[t]++;
            if (b[t] == 1) y++;
        } 
        // System.out.println(x + " " + y + " " + get_count(a) + " " + get_count(b));
        for (int i = 0; i < 26; i++) {
            if (a[i] == 0) continue;
            for (int j = 0; j < 26; j++) {
                if (b[j] == 0) continue;
                if (i == j) if (x == y) return true;
                    a[i]--;
                    a[j]++;
                    b[i]++;
                    b[j]--;
                    if (get_count(a) == get_count(b)) return true;
                    a[i]++;
                    a[j]--;
                    b[i]--;
                    b[j]++;
            }
        }

        return false;
    }

    private int get_count(int[] a) {
        int ans = 0;
        for (int i = 0; i < 26; i++) {
            if (a[i] > 0) ans++;
        }
        return ans;
    }
}

标签:26,return,nums,int,LeetCode,++,327,ans,单周赛
From: https://www.cnblogs.com/Changersh/p/17036227.html

相关文章

  • 【LeetCode数组#5行为模拟】螺旋矩阵II
    螺旋矩阵II力扣题目链接(opensnewwindow)给定一个正整数n,生成一个包含1到n^2所有元素,且元素按顺时针顺序螺旋排列的正方形矩阵。示例:输入:3输出:[[1,......
  • [2185] LeetCode 刷题笔记: 统计包含给定前缀的字符串 [s]
    [2185]LeetCode刷题笔记:统计包含给定前缀的字符串[s]目录[2185]LeetCode刷题笔记:统计包含给定前缀的字符串[s]题目描述题解参考简单模拟复杂度分析参考题解C/C++......
  • [1] LeetCode 刷题笔记: 两数之和 [S]
    [1]LeetCode刷题笔记:两数之和[S]目录[1]LeetCode刷题笔记:两数之和[S]题目描述题解参考暴力枚举复杂度分析使用哈希表复杂度分析参考题解C/C++的相关参考Rust......
  • leetcode-230. 二叉搜索树中第K小的元素
    dfs中序遍历即可/***Definitionforabinarytreenode.*typeTreeNodestruct{*Valint*Left*TreeNode*Right*TreeNode*}*/var......
  • leetcode-671. 二叉树中第二小的节点
    dfs取左右子树第二大的值进行比较/***Definitionforabinarytreenode.*typeTreeNodestruct{*Valint*Left*TreeNode*Right*TreeNod......
  • leetcode-2185. 统计包含给定前缀的字符串
    简单题,重拳出击funcprefixCount(words[]string,prefstring)int{validCnt:=0for_,w:=rangewords{notValid:=falseiflen(w)......
  • leetcode-409-easy
    LongestPalindromeGivenastringswhichconsistsoflowercaseoruppercaseletters,returnthelengthofthelongestpalindromethatcanbebuiltwiththose......
  • leetcode-345-easy
    ReverseVowelsofaStringGivenastrings,reverseonlyallthevowelsinthestringandreturnit.Thevowelsare'a','e','i','o',and'u',andtheycan......
  • leetcode-643-easy
    MaximumAverageSubarrayIYouaregivenanintegerarraynumsconsistingofnelements,andanintegerk.Findacontiguoussubarraywhoselengthisequalto......
  • leetcode-496-easy
    NextGreaterElementIThenextgreaterelementofsomeelementxinanarrayisthefirstgreaterelementthatistotherightofxinthesamearray.Youar......