在自己的代码上做优化: 1.用一个双循环实现行和列的同时访问: for (int i = 0; i < n; ++i) { for (int j = 0; j < n; ++j) { //matrix[i][j] //matrix[j][i] } } 2.看一下matrix[i][j]取值范围:放入hash后直接判断size()是否等于n就好了,不用跟存1-n的hash来比较。
Sunday 晴 今天是和小
题目 2125. 银行中的激光束数量 虽说是中等题,我觉得这题就是题目在吓人而已做起来应该是简单题; 银行内部的防盗安全装置已经激活。给你一个下标从 0 开始的二进制字符串数组 bank ,表示银行的平面图,这是一个大小为 m x n 的二维矩阵。 bank[i] 表示第 i 行的设备分布,由若干 '0' 和
银行中的激光束数量 题目描述解题思路代码复杂度 力扣链接 题目描述 银行内部的防盗安全装置已经激活。给你一个下标从 0 开始的二进制字符串数组 bank ,表示银行的平面图,这是一个大小为 m x n 的二维矩阵。 bank[i] 表示第 i 行的设备分布,由若干 '0' 和若干 '1'组成。'
第一次打leetcode的比赛,打的virtual,简单说下每题的思路。 反转两次的数字 大意:判断一个数字翻转两次后是否还是原来的数字,翻转后要去掉前导零。 只要末位不是零翻转两次肯定没变化,要特判一下0 代码: class Solution { public: bool isSameAfterReversals(int num) {
执行所有后缀指令 题目描述解题思路代码(暴力)复杂度 力扣链接 这一周只完成了这两题,第三题有几个用例过不去,我知道啥时候会过不去,但不知道怎么解决,大佬说是前缀和+二分,但是我不知道这个前缀和从哪里搞起,经验不够,太菜 题目描述 现有一个 n x n 大小的网格,左上
思路: 把相同元素的index存到一个list里面 然后挨个求函数(超时了) 这道题的本质就是如何快速地求: 一个递增list中,每个数到其他数的距离之和(距离之和可以通过递推求,用循环超时) 我的超时循环做法: class Solution: def getDistances(self, arr: List[int]) -> List[int]:
文章目录 题目1代码运行结果 题目2代码运行结果 题目3代码运行结果 总结 题目1 ''' Description: 5963. 反转两次的数字 Autor: 365JHWZGo Date: 2021-12-26 10:33:25 LastEditors: 365JHWZGo LastEditTime: 2021-12-26 10:36:27 Author: localhost ''' 代码 class So
题目描述: 题目点这里 初级版本: 使用哈希表存放每个元素所对应的下标,键是每个出现的元素,值是这个元素出现的下标,使用list数组进行存放。从前往后遍历,找到每个值对应出现的所有下标,根据这些下标求距离。 java代码: public long[] getDistances(int[] arr) { Map<Integer, Li
题目描述 如果一个正整数,其各个数位上的数字均满足要么是 0,要么是 1,则称该数字为 01数。例如,1和 10 都是 01数。给定一个整数 n。请你计算,1∼n中有多少个 01数。 输入格式 一行,一个整数 n。 输出格式 一个整数,表示 01数的数量。 数据范围 前六个测试点满足 1≤n≤100。所有测试点
5914. 值相等的最小索引 送分题,数据量也小,才100 class Solution: def smallestEqual(self, nums: List[int]) -> int: for i,n in enumerate(nums): if i%10==n:return i return -1 一行: class Solution: def smallestEqual(self, nums
链接:https://leetcode-cn.com/problems/minimum-operations-to-make-the-array-k-increasing/ 题目 给你一个下标从 0 开始包含 n 个正整数的数组 arr ,和一个正整数 k 。 如果对于每个满足 k <= i <= n-1 的下标 i ,都有 arr[i-k] <= arr[i] ,那么我们称 arr 是 K 递
一些废话 今天第一次做了leetcode周赛题目,ac了2道,总体感觉不错,下次还来。 限时编程能力不太够,第一题那么简单用了11分钟,因为我在读题……后面三道学聪明了,直接去看测试用例的解释,然后粗略的扫一遍题目关注细节。 还有wa的情况,千万要保留一下测试用例,否则还得再提交一遍wa。
比赛链接 AcWing 4194. Pow 难度:简单 知识点:数学,输出流控制 思路:调用数学库中的pow 参考代码: #include<iostream> #include<cmath> #include<iomanip> using namespace std; int main() { int n,t; cin>>n>>t; //precision 精确度 cout<<setprecision(6)
题目链接 题目 给定长度为 n 的数列 a,如果 (按位与),则在 i,j 之间存在一条长度为 的边,求 1 至所有点的最短路。 思路 暴力连边,边太多,最多 \(n^2\) 条,MLE+TLE。 于是考虑减少边的数量。 首先建32个虚点。 然后加入 \(a_i\) 在第 \(k\) 位上为1,就在 \(i\) 和第 \(k\) 个虚点当中连边,
第270场周赛记录 得分排名情况赛题分析题一:找出3位偶数(easy完成)题二:删除链表的中间节点(medium完成)题三:从二叉树一个节点到另一个节点每一步的方向(medium未完成)题四:合法重新排列数对(hard未完成) 反思总结个人情况后续改进 得分排名情况 leetcode个人资料 本次得分7分 本次
第一百一十二天 --- 第 270 场力扣周赛 题目一思路:直接模拟细节 代码附加 题目二思路细节 代码 题目一 力扣:2094. 找出 3 位偶数 思路:直接模拟 1、因为构造所有三位数,所以三次枚举出所有给定数组中的所有数,并保证: <1> 整数为偶数 <2> 整数不包含前导零,也就是枚举第
1、 找出 3 位偶数 给你一个整数数组 digits ,其中每个元素是一个数字(0 - 9)。数组中可能存在重复元素。你需要找出 所有 满足下述条件且 互不相同 的整数: 该整数由 digits 中的三个元素按任意顺序依次连接组成。 该整数不含前导零 该整数是一个偶数 例如,给定的 digits 是 [1,
这把打的不顺,开头交不上去就慌了。后面的T2,T3wa麻了。 目录 4082. 子序列【签到】4083. 最大公约数【分解因子】4084. 号码牌【并查集】 4082. 子序列【签到】 https://www.acwing.com/problem/content/description/4085/ 暴力做法: #include<bits/stdc++.h> using n
好久没有打周赛了,本周试了一下,战绩一言难尽,最后一题并查集差一点就做出来了 文章目录 一、第一题:5938. 找出数组排序后的目标下标1、题目简介2、题目解析3、题目代码 二、第二题:5939. 半径为 k 的子数组平均值1、题目简介2、题目解析3、题目代码 三、第三题:5940. 从数组
第269周赛 文章目录 第269周赛5938.找出数组排序后的目标下标5939.半径为k的子数组平均值5940.从数组中移除最大值和最小值5941.找出知晓秘密的所有专家 题目很简单,只ac了3道,第4道差一点点。 我还是太菜了,会继续努力训练思路和速度的。 5938.找出数组排序后的目标下标
从数组中移除最大值和最小值 题目描述解题思路代码时间复杂度 力扣链接 题目描述 给你一个下标从 0 开始的数组 nums ,数组由若干 互不相同 的整数组成。 nums 中有一个值最小的元素和一个值最大的元素。分别称为 最小值 和 最大值 。你的目标是从数组中移除这两个元素
两栋颜色不同且距离最远的房子 点击查看代码 // 解法一 // 暴力双重循环 class Solution { public: int maxDistance(vector<int>& colors) { int n = colors.size(); int ans = 1; for (int i = 0; i < n; i++)
这周的周赛结束了,回想在协会呆的这段时间,感觉收获挺多,但也暴露出了不少问题。比如代码写的很乱,可能当天还看得懂我写的是什么,过了一段时间回看的时候就看不懂了。感觉做题的这段时间里,思考题目并将代码写出来的这段时间里是极其难熬的,有时候一个特别小的错误都得检查很久,不断
给出二维平面上的一些点。 询问一个\(K\times K\)的正方形,最多能覆盖多少点。 做法: 考虑这个正方形的一个角。这个角确定了,正方形也就确定了。 对于一个点,合法的角的坐标范围形成了一个矩形。 问题转化为,求一些矩形的最大重合点是多少。 扫描线即可。 时间复杂度O(nlogn)。 //对一