力扣周赛387

 第一题

代码

package Competition.The387Competitioin;

public class Demo1 {
    public static void main(String[] args) {

    }

    public int[] resultArray(int[] nums) {
        int ans[]=new int[nums.length];
        int arr1[]=new int[nums.length];
        int arr2[]=new int[nums.length];
        if(nums.length<=2)return nums;
        int i=0;
        int j=0;
        int k=0;
        arr1[i++]=nums[k++];
        System.out.println(arr1[i-1]);
        arr2[j++]=nums[k++];
        System.out.println(arr1[j-1]);
        while (k<nums.length){
            if(arr1[i-1]>arr2[j-1]){
                arr1[i++]=nums[k++];
                System.out.println(arr1[i-1]);
            }else{
                arr2[j++]=nums[k++];
            }
        }
        int index_i=0;
        for(int c=0;c<i;c++){
            ans[index_i++]=arr1[c];
        }
        for(int c=0;c<j;c++){
            ans[index_i++]=arr2[c];
        }
        return ans;

    }
}

评价

敲代码的时候,我在这里放了一个小错误,

if(arr1[i-1]>arr2[j-1]){这个,我写成了arr1[i-1]>arr1[j-1],手写的太快了,debug了,所以写的不快,我真该死唉

第二题

代码

package Competition.The387Competitioin;

public class Demo2 {
    public static void main(String[] args) {

    }
    public int countSubmatrices(int[][] grid, int k) {
        int m = grid.length;
        int n = grid[0].length;
        int ans = 0;


        int[][] prefixSum = new int[m + 1][n + 1];
        for (int i = 1; i <= m; i++) {
            for (int j = 1; j <= n; j++) {
                prefixSum[i][j] = prefixSum[i - 1][j] + prefixSum[i][j - 1] - prefixSum[i - 1][j - 1] + grid[i - 1][j - 1];
                if(prefixSum[i][j]<=k)ans++;
            }
            System.out.println();
        }
        return ans;
    }

}

评价:这个感觉很好,直接无脑写

第三题

代码

package Competition.The387Competitioin;

public class Demo3 {
    public static void main(String[] args) {

    }

    public int minimumOperationsToWriteY(int[][] grid) {
        int n = grid.length;
        int m = grid[0].length;
        int ynumber[]=new int[3];
        int otherNumber[]=new int[3];
        int sumy=0;
        int sumOther=0;
        for(int i=0;i<n;i++){
            for(int j=0;j<n;j++){
                if(i<n/2&&i==j){
                    ynumber[grid[i][j]]++;
                    sumy++;
                    continue;
                }
                if(i< n/2&&j==n-i-1){
                    ynumber[grid[i][j]]++;
                    sumy++;
                    continue;
                }
                if(i>n/2&&j==n/2){
                    ynumber[grid[i][j]]++;
                    sumy++;
                    continue;
                }
                otherNumber[grid[i][j]]++;
                sumOther++;
            }
        }


        sumOther--;
        otherNumber[grid[n/2][n/2]]--;
        sumy++;
        ynumber[grid[n/2][n/2]]++;
        System.out.println("sumy:"+sumy);
        System.out.println("sunOther:"+sumOther);
        for(int i=0;i<3;i++){
            System.out.println(i);
            System.out.println("y:"+ynumber[i]);
            System.out.println("o:"+otherNumber[i]);
        }
        int ans=Integer.MAX_VALUE;
        for(int i=0;i<3;i++){
            for(int j=0;j<3;j++){
                if(i==j)continue;
                System.out.println(ans);
                ans=Math.min(ans,sumy-ynumber[i]+sumOther-otherNumber[j]);
            }
        }
        return ans;

    }
}

评价

还是第一题的毛病,首先题目写的太快了,刚开始没有想好就动代码,本来写成一段一段的,后面重新整个放在一起了,接下来就是发现我grid[n/2][n/2]多次利用了,我没有发现,导致我值不对账,最后通过调试发现了bug

总评

好久没有打周赛了,最近无聊的时候会力扣复检,都在背八股文,加油!,剑指和top100同时进行中ing

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/425934.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

SUPER 4PCS配准

一、下载编译 1、下载 链接&#xff1a;STORM-IRIT/OpenGR: OpenGR: A C library for 3D Global Registration (github.com) 不过有部分代码不能成功下载&#xff0c;要到该文件夹再次下载&#xff0c;就是下面标黄的两个文件&#xff0c;下载之后首先解压OpenGR-master.zip&…

python笔记_程序流程控制

A&#xff0c;顺序控制 程序从上到下逐行执行 python定义变量时&#xff0c;会合法地向前引用 age 1 age2 age 1 age2 age 1 age 1 ——>错误&#xff0c;age应在age2之前 B&#xff0c;分支控制 1&#xff0c;单分支if 语法 if 条件表达式 &#xff1a; 代码块 说明…

matplotlib条形图

matplotlib条形图 假设你获取到了2017年内地电影票房前20的电影(列表a)和电影票房数据(列表b), 那么如何更加直观的展示该数据? from matplotlib import pyplot as plta ["Wolf Warrior 2", "Fast and Furious 8", "Kung Fu Yoga", "Jo…

【Godot4自学手册】第十九节敌人的血量显示及掉血特效

这一节&#xff0c;我主要学习敌人的血量显示、掉血显示和死亡效果。敌人的血量显示和主人公的血量显示有所不同&#xff0c;主要是在敌人头顶有个红色的血条&#xff0c;受到攻击敌人的血条会减少&#xff0c;并且有掉血数量的文字显示&#xff0c;效果如下&#xff1a; 一、…

写时复制简介

写时复制技术(Copy on Write)是比较常用的一种技术&#xff0c;它的主要目的是延迟减少以及延迟内存的分配&#xff0c;增加执行效率&#xff0c;只有在真正进行写操作的过程中才会真正分配物理资源。同时&#xff0c;也可以保护数据在系统崩溃时出现的丢失。比如&#xff0c;我…

2.2 mul、div、and、or乘除指令及所有寄存器英文名

汇编语言 1. mul乘指令 两个相乘的数&#xff0c;要么都是8位&#xff0c;要么都是16位 两个8位数相乘 一个默认放在al中&#xff0c;另一个放在8位reg或内存字节单元中8位乘法&#xff0c;结果默认放在ax中例如&#xff1a;计算100*10 100和10小于255&#xff0c;可以做8位…

勇敢尝鲜之Springboot3大坑-集成Mybatisplus报错:ddlApplicationRunner

&#x1f339;作者主页&#xff1a;青花锁 &#x1f339;简介&#xff1a;Java领域优质创作者&#x1f3c6;、Java微服务架构公号作者&#x1f604; &#x1f339;简历模板、学习资料、面试题库、技术互助 &#x1f339;文末获取联系方式 &#x1f4dd; 往期热门专栏回顾 专栏…

AcWing 4726. 寻找数字

解题思路 在这个二插搜索树中寻找&#xff0c;4和7数量相等&#xff0c;并且大于n的最小数。 相关代码 import java.util.*;public class Main {static String s;static List<Integer> res new ArrayList<>();static long n;static long ansLong.MAX_VALUE;publ…

萌新学习RSA第二天(离线分解整数N)

1.yafu的使用&#xff08;离线环境分解N&#xff09;、 下载 打开 及使用 下载地址&#xff1a;https://sourceforge.net/projects/yafu/ 在下载好的并解压好的文件夹上鼠标右键打开终端 然后输入.\yafu-x64.exe并回车运行 .\yafu-x64.exe 来到这个页面就OK了 然后输入 fa…

如何使用ArcGIS Pro创建最低成本路径

虽然两点之间直线最短&#xff0c;但是在实际运用中&#xff0c;还需要考虑地形、植被和土地利用类型等多种因素&#xff0c;需要加权计算最低成本路径&#xff0c;这里为大家介绍一下计算方法&#xff0c;希望能对你有所帮助。 数据来源 教程所使用的数据是从水经微图中下载…

Outlook邮箱IMAP密码怎么填写?账户设置?

Outlook邮箱IMAP密码是什么&#xff1f;Outlook如何设置IMAP&#xff1f; 许多用户会选择通过IMAP协议将邮箱与各种邮件客户端进行连接。而在设置过程中&#xff0c;填写IMAP密码是必不可少的一步。那么&#xff0c;Outlook邮箱的IMAP密码应该如何填写呢&#xff1f;接下来&am…

一定用得到数据预处理:去噪、滤波方法!限幅滤波、中值滤波、均值滤波、递推平均滤波,直接运行!

​适用平台&#xff1a;Matlab2020版本及以上 在实际应用中&#xff0c;滤波、去噪都是用于信号处理的工具&#xff0c;通常用于机器学习/深度学习技术前的数据预处理阶段&#xff0c;主要作用在于对信号进行平滑处理或者去除噪声&#xff0c;从而提取出信号中的有用信息或者改…

win8.1 关闭资源管理器上的classic shell的工具条

打开控制面板&#xff0c;鼠标移动到菜单栏右键&#xff0c;去掉Classic Explorer Bar的勾选&#xff0c;重新打开资源管理器发现已经没有classic shell的工具条。 classic shell工具条占用屏幕空间&#xff0c;有没有什么用处 参考连接 It seems I cant disable the toolbar…

Apache POI的简单介绍与应用

介绍 Apache POI 是一个处理Miscrosoft Office各种文件格式的开源项目。我们可以使用 POI 在 Java 程序中对Miscrosoft Office各种文件进行读写操作。PS&#xff1a; 一般情况下&#xff0c;POI 都是用于操作 Excel 文件&#xff0c;如图&#xff1a; Apache POI 的应用场景&…

源码视角,vue3为什么推荐用ref,而不是reactive

ref 和 reactive 是 Vue3 中实现响应式数据的核心 API。ref 用于包装基本数据类型&#xff0c;而 reactive 用于处理对象和数组。尽管 reactive 似乎更适合处理对象&#xff0c;但 Vue3 官方文档更推荐使用 ref。 我的想法&#xff0c;ref就是比reactive好用&#xff0c;官方也…

C++进阶-- map和set

关联式容器 在前面&#xff0c;我们所学的vector、list、deque&#xff0c;这些都是序列容器&#xff0c;也就是底层为线性序列的数据结构。 而关联式容器是C标准库中的一种类别&#xff0c;用于存储键值对&#xff08;key-value pair&#xff09;&#xff0c;关联式容器中的元…

ASUS华硕天选5笔记本电脑FX607JV原装出厂Win11系统下载

ASUS TUF Gaming F16 FX607JV天选五原厂Windows11系统 适用型号&#xff1a; FX607JU、FX607JI、FX607JV、 FX607JIR、FX607JVR、FX607JUR 下载链接&#xff1a;https://pan.baidu.com/s/1l963wqxT0q1Idr98ACzynQ?pwd0d46 提取码&#xff1a;0d46 原厂系统自带所有驱动、…

3.3日学习打卡----初学Redis(一)

3.3日学习打卡 目录&#xff1a; 3.3日学习打卡NoSQL为什么要用NoSQL什么是NoSQL?NoSQL的四大分类关系型数据库和非关系型数据及其区别NoSQL经典应用 RedisRedis是什么?Linux下安装RedisDocker下安装Redis基本知识 NoSQL 为什么要用NoSQL 单机Mysql的美好年代 在90年代&…

00X集——vba获取CAD图中图元类名objectname

在CAD中&#xff0c;通过快捷键PL&#xff08;即POLYLINE命令&#xff09;绘制的线属于AcDbPolyline。AcDbPolyline也被称为LWPOLYLINE&#xff0c;即简单Polyline&#xff0c;它所包含的对象在本身内部。 此外&#xff0c;CAD中还有另一种二维多段线对象&#xff0c;称为AcDb2…

(3)(3.1) FlightDeck FrSky发射器应用程序

文章目录 前言 1 概述 2 Turnkey Packages 3 参数说明 前言 ​Craft and Theory 的 FlightDeck 可让你轻松查看飞行模式、高度、速度、姿态和关键系统警报&#xff0c;包括故障保护和电池错误&#xff0c;如电池不平衡警告和发射机低电量警报。 1 概述 Craft and Theory 的…