首页 > 其他分享 >第 95 场双周赛

第 95 场双周赛

时间:2023-01-10 00:55:42浏览次数:53  
标签:return power int sum long 双周 ans 95

1.根据规则将箱子分类

根据规则将箱子分类

Solution

class Solution {
public:
    string categorizeBox(int length, int width, int height, int mass) {
        long long w = 1e4, v = 1e9;
        int ans[4];
        memset(ans,0,sizeof(ans));
        if(length >= w || width >= w || height >= w || (length * width) >= v / height){
            ans[0] = 1;
        }
        if(mass >= 100){
            ans[1] = 1;
        }
        if(ans[1] == 1 && ans[0] == 1){
            return "Both";
        }
        if(ans[0] != 1 && ans[1] != 1){
            return "Neither";
        }
        if(ans[1] == 1 && ans[0] != 1){
            return "Heavy";
        }
        return "Bulky";
    }
};

2.找到数据流中的连续整数

找到数据流中的连续整数

Solution

class DataStream {
public:
    int value, k;
    int cnt = 0;
    
    DataStream(int value, int k) {
        this->value = value;
        this->k = k;
    }
    
    bool consec(int num) {
        if (num == value) {
            cnt++;
        } else {
            cnt = 0;
        }
        return cnt >= k;
    }
};

/**
 * Your DataStream object will be instantiated and called as such:
 * DataStream* obj = new DataStream(value, k);
 * bool param_1 = obj->consec(num);
 */

3.查询数组 Xor 美丽值

查询数组 Xor 美丽值

Solution

class Solution {
public:
    int xorBeauty(vector<int>& nums) {
        return reduce(nums.begin(), nums.end(), 0, bit_xor<>{});
    }
};

4.最大化城市的最小供电站数目

最大化城市的最小供电站数目

Solution

class Solution {
public:
    long long maxPower(vector<int>& stations, int r, int k) {
        int n = stations.size();
        long sum[n + 1], power[n], diff[n];
        sum[0] = 0;
        //计算前缀和
        for(int i = 0;i < n;i++){
            sum[i + 1] = sum[i] + stations[i];
        }
        for(int i = 0;i < n;i++){
            power[i] = sum[min(i + r + 1, n)] - sum[max(i - r, 0)];//计算电量
        }
        auto check = [&](long min_power) -> bool{
            memset(diff, 0, sizeof(diff));
            long sum_d = 0, need = 0;
            for(int i = 0;i < n;i++){
                sum_d += diff[i];
                long m = min_power - power[i] - sum_d;
                if(m > 0){
                    need += m;
                    if(need > k) return false;
                    sum_d += m;
                    if (i + r * 2 + 1 < n) diff[i + r * 2 + 1] -= m;
                }
            }
            return true;
        };
        long left = *min_element(power, power + n), right = left + k + 1; 
        while(left + 1 < right){
            long mid = left + (right - left) / 2;
            check(mid) ? left = mid : right = mid;
        }
        return left;
    }
};

标签:return,power,int,sum,long,双周,ans,95
From: https://www.cnblogs.com/TTS-TTS/p/17038958.html

相关文章

  • 全国质量奖评审运作框图及使用的卓越绩效评价准则标准GB/Z 19579-2012和GB/T 19580-20
    全国质量奖评审运作框图  卓越绩效模式导入的一般流程    2012版标准的九项基本理念(管理哲学和实践的结晶、浓缩)     ......
  • 【LeeCode】1295. 统计位数为偶数的数字
    【题目描述】给你一个整数数组 ​​nums​​,请你返回其中位数为 偶数 的数字的个数。​​​https://leetcode.cn/problems/find-numbers-with-even-number-of-digits/des......
  • 最完美WIN11_Pro_22H2.22623.1095软件选装纯净版VIP38.4
    【系统简介】=============================================================1.本次更新母盘来UUP_WIN11_Pro_22H2.22623.1095。进一步优化调整。2.不支持更新,更新后精简版......
  • AcWing395. 冗余路径
    题目大意\(\qquad\)给定一张无向图,求至少增加多少条边才能将这张图变成一个e-dcc边双连通分量。解题思路\(\qquad\)从边双的性质入手:$$边双连通分量内部的两个点之间至......
  • 95后IT人才会去哪些城市?
    近日,智联招聘发布《中国城市95后人才吸引力排名:2022》,聚焦于95后人才,以期探索95后求职者的流动趋势。其中显示,95后在选择就业创业城市时,呈现“更喜欢跨城流动”“更多分......
  • 第 93 场双周赛
    1.数组中字符串的最大值数组中字符串的最大值SolutionclassSolution{public:intmaximumValue(vector<string>&strs){intans=-1;for(......
  • 解读Datasheet系列:M95080W(ST,SPI EEPROM)
    本文只对M95080W数据手册的一部分进行解读,其涵盖的内容基本足够开发标准SPI接口的EEPROM驱动。​M95160-x和M95080-x是电可擦除非易失性存储器(EEPROM)设备,通过高速......
  • P1955 [NOI2015] 程序自动分析
    [NOI2015]程序自动分析题目简述输入的第一行包含一个正整数\(t\),表示需要判定的问题个数。注意这些问题之间是相互独立的。对于每个问题,包含若干行:第一行包含一个正......
  • leetcode-595. 大的国家
    595.大的国家-力扣(Leetcode)两种方法,一个是or一个是union,union会快一点#WriteyourMySQLquerystatementbelow#selectname,population,areafromWorld#wh......
  • LeetCode第 94 场双周赛
    1.最多可以摧毁的敌人城堡数目题目最多可以摧毁的敌人城堡数目Solution可以第一重循环找到\(1\),然后从该位置分别向左和向又寻找\(-1\),寻找过程中遇到\(1\)则停止,不......