6291. 数组元素和与数字和的绝对差

代码

模拟即可

class Solution {
public int differenceOfSum(int[] nums) {
int ans = 0;
int sum = 0;
for (int i = 0; i < nums.length; i++) {
int t = nums[i];
ans += t;
while (t > 0) {
sum += t % 10;
t /= 10;
}
}
return Math.abs(ans - sum);
}
}

6292. 子矩阵元素加 1

代码

差分模板

但是在处理的时候,因为差分数组下标从 1 开始比较方便,所以我们让 q 中的值都 +1

最后返回结果时,原数组 = 差分数组的前缀和

为了符合下标从 0 开始的要求,我们定义数组 a,作为结果返回,存储时下标 -1 存储

class Solution {
private int[][] b;
public int[][] rangeAddQueries(int n, int[][] q) {
b = new int[n + 10][n + 10];
for (var a : q) {
insert(a[0] + 1, a[1] + 1, a[2] + 1, a[3] + 1);
} int[][] a = new int[n][n];
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= n; j++) {
b[i][j] += b[i][j - 1] + b[i - 1][j] - b[i - 1][j - 1];
a[i - 1][j - 1] = b[i][j];
}
}
return a;
} private void insert(int x1, int y1, int x2, int y2) {
b[x1][y1] += 1;
b[x2 + 1][y1] -= 1;
b[x1][y2 + 1] -= 1;
b[x2 + 1][y2 + 1] += 1;
}
}

6293. 统计好子数组的数目

代码

双指针

map存储每个数出现的次数

从左往右进行双指针,先左指针不动,一直右移右指针,直到满足条件 / 到达边界 为止

如果满足条件

  1. 则以 l 为左端点,r 右边的端点都满足。左端点为 l 的情况就找完了,不用再遍历左端点为 l 的情况了。
  2. 此时不断向右移动左指针,看是否满足(这一步用while,保证此时的右边界 r 不变)

不满足条件就继续移动

class Solution {
public long countGood(int[] a, int k) {
int l = 0, r = 1, n = a.length;
long t = 0;
long ans = 0;
boolean[] vis = new boolean[n + 10];
HashMap<Integer, Integer> map = new HashMap<>();
map.put(a[l], 1);
vis[0] = true;
while (l < r && r < n) {
if (!vis[r] && map.getOrDefault(a[r], 0) >= 1) {
t += map.get(a[r]);
}
if (!vis[r]) map.put(a[r], map.getOrDefault(a[r], 0) + 1);
vis[r] = true; while (t >= k) {
ans += n - r; t -= map.get(a[l]) - 1;
map.put(a[l], map.get(a[l]) - 1);
l++;
}
r++;
} return ans;
}
}

LeetCode_单周赛_328的更多相关文章

  1. 算法5: LeetCode_单链表_两数相加

    题目: * 给你两个 非空 的链表,表示两个非负的整数.它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字. * 请你将两个数相加,并以相同形式返回一个表示和的链表. * 你可 ...

  2. Leetcode 第133场周赛解题报告

    今天参加了leetcode的周赛,算法比赛,要求速度比较快.有思路就立马启动,不会纠结是否有更好的方法或代码可读性.只要在算法复杂度数量级内,基本上是怎么实现快速就怎么来了. 比赛时先看的第二题,一看 ...

  3. 【Leetcode周赛】从contest-111开始。(一般是10个contest写一篇文章)

    Contest 111 (题号941-944)(2019年1月19日,补充题解,主要是943题) 链接:https://leetcode.com/contest/weekly-contest-111 ...

  4. H5单页面手势滑屏切换原理

    H5单页面手势滑屏切换是采用HTML5 触摸事件(Touch) 和 CSS3动画(Transform,Transition)来实现的,效果图如下所示,本文简单说一下其实现原理和主要思路. 1.实现原理 ...

  5. 快速构建H5单页面切换骨架

    在Web App和Hybrid App横行的时代,为了拥有更好的用户体验,单页面应用顺势而生,单页面应用简称`SPA`,即Single Page Application,就是只有一个HTML页面的应用 ...

  6. ASP.NET Aries 入门开发教程9:业务表单的开发

    前言: 经过前面那么多篇的列表的介绍,终于到了大伙期待的表单开发了. 也是本系列的最后一篇文章了! 1:表单页面的权限设置与继承 对于表单页面,权限的设置有两种: 1:你可以选择添加菜单(设置为不显示 ...

  7. 【CSS进阶】伪元素的妙用--单标签之美

    最近在研读 <CSS SECRET>(CSS揭秘)这本大作,对 CSS 有了更深层次的理解,折腾了下面这个项目: CSS3奇思妙想 -- Demo (请用 Chrome 浏览器打开,非常值 ...

  8. bootstrap + requireJS+ director+ knockout + web API = 一个时髦的单页程序

    也许单页程序(Single Page Application)并不是什么时髦的玩意,像Gmail在很早之前就已经在使用这种模式.通常的说法是它通过避免页面刷新大大提高了网站的响应性,像操作桌面应用程序 ...

  9. 探索ASP.NET MVC5系列之~~~3.视图篇(下)---包含常用表单和暴力解猜防御

    其实任何资料里面的任何知识点都无所谓,都是不重要的,重要的是学习方法,自行摸索的过程(不妥之处欢迎指正) 汇总:http://www.cnblogs.com/dunitian/p/4822808.ht ...

  10. SignalR快速入门 ~ 仿QQ即时聊天,消息推送,单聊,群聊,多群公聊(基础=》提升)

     SignalR快速入门 ~ 仿QQ即时聊天,消息推送,单聊,群聊,多群公聊(基础=>提升,5个Demo贯彻全篇,感兴趣的玩才是真的学) 官方demo:http://www.asp.net/si ...

随机推荐

  1. 嵌入式-C语言基础:字符串结束标识符

    #include<stdio.h> int main() { char cdata[]={'h','e','l','l','o'}; char cdata2[]="hello&q ...

  2. kubernetes_CoreDNS全解析

    一.前言 kubernetes CoreDNS 是 kube-system 命令空间里面的一个Pod,用于域名解析. kubernetes自带三个命名空间(用kubeadm安装的Kubernetes集 ...

  3. 关于C++ find

    #include <bits/stdc++.h> using namespace std; int a[1005]; int main() { for(int i = 0;i < 1 ...

  4. Training: Get Sourced

    原题链接:http://www.wechall.net/challenge/training/get_sourced/index.php 提示告诉我们答案就藏在这个界面中,使用View Sourcec ...

  5. Clickhouse表引擎之MergeTree

    1.概述 在Clickhouse中有多种表引擎,不同的表引擎拥有不同的功能,它直接决定了数据如何读写.是否能够并发读写.是否支持索引.数据是否可备份等等.本篇博客笔者将为大家介绍Clickhouse中 ...

  6. day29 jQuery选择器 & jquery属性操作 & jquery DOM元素 操作与遍历

    简介 jQuery,顾名思义,就是javascript和query(查询),即辅助javascript开发的库,本质就是一个js文件: jQuery是一个js函数库,是目前全球范围内最流行.用的最多的 ...

  7. 【数据库】Oracle建表、创建序列、添加触发器生成自增主键

    CREATE TABLE "TEST"."T_ORDER" (    "AUUID_0" VARCHAR2 ( 255 ) NOT NULL ...

  8. windows下django项目创建流程

    一.创建djangoa项目 1.将python39\Scripts 加入系统环境变量. 2.django-admin startproject 项目名称 二.设置setting 1.语言设置zh-ha ...

  9. ATM购物车项目 三层架构

    目录 项目开发流程 项目需求 三层架构 (重点) 实际案例 展示层 核心逻辑层 数据处理层 ATM项目 项目开发流程 # 1.项目需求分析 产品经理(客户) 架构师 开发经理 1.架构师 开发经理提前 ...

  10. 主题 1 The Shell

    主题 1 The Shell 课程概览与 shell · the missing semester of your cs education (missing-semester-cn.github.i ...