负数 矩阵leetcode negative
代码随想录算法训练营Day2 |977.有序数组的平方、209.长度最小的子数组、59.螺旋矩阵 II
明天四级考试了,时间非常紧张,好在这些数组相关的算法题很久之前就做过,思路上是不存在不理解的地方的。 有序数组的平方是一道非常直观的双指针方法的应用,实现过程之中没有什么坑。 长度最小的子数组就是我们的滑动窗口方法了,题目不难,但是这种处理方式有着很深刻的背景,之后还会遇到此问题的变种。 螺旋矩阵问 ......
[LeetCode] LeeCode703. 数据流中的第K大元素
题目描述 思路:最小堆 好好领悟这个代码: // 将nums数组所有元素插入小根堆中 for (int num : nums) { heap.offer(num); // 当小根堆的容量大于k时,就删除堆顶元素 if (heap.size() > k) heap.poll(); } 当heap.si ......
[LeetCode21-链表-简单] 合并2个有序列表
这个题目是这样的,就是说有两个链表,这两个链表按照非递减的顺序排列, 我们要把这两个升序的链表合并,返回一个新的升序链表,新链表要求拼接给定的2个链表的所有结点,也就是说如果有重复的结点,也要全部返回列在新链表中 1->2->4 1->3->5 =》 返回的是 1->1->2->3->4->5 首先 ......
PANE-GNN Unifying Positive and Negative Edges in Graph Neural Networks for Recommendation论文阅读笔记
Abstract 目前利用GNN的推荐系统主要关注用户的正面反馈,而忽略了负面反馈提供的见解。于是我们提出了PANG- GNN,该模型将图神经网络的正面和负面边统一在一起。PANG-GNN首先将原始评分图根据正面和负面反馈划分为两个不同的二分图。接下来分别使用两个独立的嵌入,即感兴趣嵌入和无兴趣嵌入 ......
代码随想录算法训练营第二天| LeetCode977.有序数组的平方、209.长度最小的子数组、59.螺旋矩阵II
LeetCode977.有序数组的平方 ● 今日学习的文章链接和视频链接 代码随想录 (programmercarl.com) 题目链接 977. 有序数组的平方 - 力扣(LeetCode) ● 自己看到题目的第一想法 昨天正好做了这道题目,总体来说就是用双指针法,要么从绝对值最小的数开始排序,要 ......
算法Day2双指针法排序,滑动窗口,螺旋矩阵
Day2双指针法排序,滑动窗口,螺旋矩阵 By HQWQF 2023/12/14 笔记 977.有序数组的平方 https://leetcode.cn/problems/squares-of-a-sorted-array/ 返回一个非递减顺序排序的整数数组每个元素的平方后组成的新数组,新数组也按非递 ......
代码随想录算法训练营第二天 | 977.有序数组的平方 ,209.长度最小的子数组 ,59.螺旋矩阵II
一、977.有序数组的平方 题目链接: LeetCode 977. 有序数组的平方 学习前: 思路: 双向指针。left是从左往右遍历数组,right是从优往左遍历数组,将left和right中绝对值较大数的平方从右往左放入新数组中;新思路:if(left+right>=0)right,else l ......
代码随想录算法训练营第二天|977.有序数组的平方、209.长度最小的子数组、59.螺旋矩阵
LeetCode 977 有序数组的平方 题目链接:977.有序数组的平方 思路:双指针,由两侧向中间逼近 LeetCode 209.长度最小的子数组 题目链接:209.长度最小的子数组 思路:滑动窗口,关键点滑动窗口起始点和终止点位置关系的确定 LeetCode 59.螺旋矩阵 题目链接:59.螺 ......
04 - 矩阵键盘
04 - 矩阵键盘 前言 LCD1602液晶屏 在学习使用矩阵键盘之前,为了后续的调试和显示,有必要简单了解一下LCD1602液晶屏的使用方法。江协科技已经给我们提供了模块化的代码,所以我们只需要调用对应方法就可以了,常用方法如下: 至于LCD1602具体如何操作使用,后续会有,暂时就先放一边 扫描 ......
59. 螺旋矩阵 II
题目: 59. 螺旋矩阵 II 要求: 给你一个正整数 n ,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix 。 答案: 两种解法: 一种用计算机模拟顺时针旋转的效果,这种方法看起来容易,做起来并没有那么容易,我开始就用这个思路做的,结果发现 ......
[LeetCode] 2697. Lexicographically Smallest Palindrome
You are given a string s consisting of lowercase English letters, and you are allowed to perform operations on it. In one operation, you can replace a ......
leetcode 209. 长度最小的子数组
题目: 209. 长度最小的子数组 题目描述: 给定一个含有 n 个正整数的数组和一个正整数 target 。 找出该数组中满足其总和大于等于 target 的长度最小的 连续子数组 [numsl, numsl+1, ..., numsr-1, numsr] ,并返回其长度。如果不存在符合条件的子数 ......
代码随想录算法训练营第一天| LeetCode704 二分查找、27移除元素
Leetcode704:二分查找 今日学习的文章链接: 代码随想录 (programmercarl.com) 题目链接: 704. 二分查找 - 力扣(LeetCode) ● 自己看到题目的第一想法 这题我会,但是还没明白卡尔说的循环不变量是什么意思。 我的固定思路就是,target比中间值大,左指 ......
P1527 [国家集训队] 矩阵乘法
题意 给定一个矩阵,每次询问子矩阵的第 \(k\) 大。 Sol 考虑把莫队扔到二维上来做。 发现复杂度变为:\(O(n ^ 2 q ^ {\frac {3}{4}})\)。 卡卡常就过了。 Code #include <iostream> #include <algorithm> #include ......
[LeetCode] LeetCode92. 反转链表II
题目描述 思路:同LeetCode25. K个一组翻转链表 因为涉及到可能链表的头节点会改变,所以设置dummy节点 先走left - 1步到达left的左边一个节点 查看后面是否存在right - left + 1个节点 先翻转内部节点指向right - left次 再翻转外部节点 方法一: /* ......
汇编- jns符号位SF=0则跳转(非负数则跳转)
.386 .model flat,stdcall option casemap:none .stack 4096 Include Irvine32.inc includelib Irvine32.lib ExitProcess PROTO,dwExitCode:DWORD .data .code m ......
【leetcode 239. 滑动窗口最大值】Java优先队列——PriorityQueue类
leetcode 239. 滑动窗口最大值 题目描述: 1e5大小的nums[]数组中长度为k(1<=k<=1e5)的窗口的最大值 题解: 暴力求解O(n^2)会超时,需要O(nlogn)的解法 使用大根堆优先队列维护窗口元素,每次取最大值复杂度降为O(1),堆结构维护复杂度O(logn) 问:如果 ......
Leetcode刷题day12-二叉树.前中后序遍历
递归法实现前.中.后序遍历 代码随想录 (programmercarl.com) 解题思路 前序遍历:头->左->右 中序遍历:左->头->右 后序遍历:左->右->头 递归法实现流程:1.定义递归函数;2.寻找递归终止条件;3.设计单层递归模块 class Solution(): def __in ......
Leetcode刷题day11-栈.滑窗最大值.出现次数前K的元素
239.滑动窗口最大值 239. 滑动窗口最大值 - 力扣(LeetCode) 给你一个整数数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。 返回 滑动窗口中的最大值 。 示例 1: 输入:nums = ......
[LeetCode Hot 100] LeetCode25. K个一组翻转链表
题目描述 思路: 判断链表中是否足够k个元素 再将这k个元素内部翻转一下 将前后端点连接的指针变化一下 方法一: /** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next ......
[LeetCode Hot 100] LeetCode148. 排序链表
题目描述 思路一:堆排序、小顶堆 定义一个最小堆 将链表的所有节点放入一个最小堆中 直接用队列弹出的最小值依次覆盖掉原链表的值 方法一: /** * Definition for singly-linked list. * public class ListNode { * int val; * L ......
[LeetCode Hot 100] LeetCode138. 随机链表的复制
题目描述 思路一:添加"小弟" 根据遍历到的原节点创建对应的新节点,每个新创建的节点是在原节点后面。 原节点i的随机指针(如果有的话),指向的是原节点j,那么新节点i的随机指针,指向的是原节点j的next 最后将两个链表分开,再返回新链表就可以 思路二:使用哈希表 首先创建一个哈希表,再遍历原链表, ......
[LeetCode Hot 100] LeetCode24. 两两交换链表中的节点
题目描述 思路: 创建dummy节点,令dummy.next = head。令cur表示当前到达的节点,初始时cur = dummy。每次需要交换cur后面的两个节点。 如果cur的后面没有节点或者只有一个节点,则没有更多的节点需要交换,因此结束交换。否则,获得cur后面的两个节点node1和nod ......
【C系列5.13】指针专题之矩阵转置(hznuoj刷题)
Description Alex最近又喜欢上了矩阵转置游戏,这个游戏非常简单,将一个3*3的矩阵转置即可。现在,请你用指针写一个程序来实现矩阵转置功能。 Input 输入包含多组测试数据,对于每组测试数据,包含一个3*3的矩阵,每个元素的值都在0到9之间。 Output 一个转置后的3*3的矩阵。每 ......
LeetCode-总入口
LeetCode刷题整理 LeetCode-1-二叉树 LeetCode-2-动态规划 LeetCode-3-二分查找 LeetCode-4-BFS/DFS/回溯 LeetCode-5-双指针 LeetCode-10-位操作 10大排序算法+topK 链表操作 2021秋招-数据结构-栈、队列、数组 ......
[LeetCode19-链表-中等] 删除链表的倒数第N个节点
这道题也是关于链表的题目,题目原意是这样的,给你一个链表,删除这个链表的倒数第n个结点,并返回头结点(也就是其余的结点组成的新链表) 比如 1->3->5->7->9 n =2 也就是删除倒数第2个结点,值为7的结点。返回头结点为 1->3->5->9 ......
矩阵快速幂
前言 关于这个算法的前置知识快速幂和矩阵可以点击链接看我以前的博客 问题 给定\(n \times n\)矩阵\(A\),求\(A^k\) 算法思路 顾名思义,矩阵快速幂就是矩阵乘法 + 快速幂 (这里就不再赘述快速幂的原理,不熟悉的可以去看我以前的博客) 要想实现这个算法,我们首先需要先实现矩阵乘 ......
[ LeetCode ] 67. Add Binary
题目 Given two binary strings a and b, return their sum as a binary string. 思考 题外话:根据LeetCode premium的说法,这题是no.4最常被Facebook面试问到的题目 这题是二进制相加的问题 什么是二进制 二进 ......
[LeetCode Hot 100] LeetCode155. 最小栈
题目描述 思路一:使用辅助栈 定义一个[数据栈]来支持push、pop、top操作 定义一个[辅助栈],其栈顶为当前的最小值,以支持常数时间复杂度的getMin操作 思路二:使用ArrayDeque 栈元素中除了保存当前值之外,额外保存当前最小值 使用静态内部类 方法一:对应思路一 class Mi ......