乘积 数组leetcode 152

代码随想录Day13-Leetcode239. 滑动窗口最大值,347.前 K 个高频元素,栈和队列总结

239. 滑动窗口最大值 一开始没有思路,暴力了,然后果然超时; 看提示中的单调队列没有特别明白;后面反应过来跟单调栈很像; 也确实很符合本题的情况,一旦队尾出现更大的数,前面更小的数就不需要了, 他们不会成为最大数被弹出后的备选。 值得注意的是本题数次出现区间错误,一开始我的操作居然是删除q[l] ......
随想录 最大值 队列 随想 Leetcode

LeetCode459. 重复的子字符串

题目描述: 给定一个非空的字符串 s ,检查是否可以通过由它的一个子串重复多次构成。 示例 1: 输入: s = "abab" 输出: true 解释: 可由子串 "ab" 重复两次构成。 示例 2: 输入: s = "aba" 输出: false 示例 3: 输入: s = "abcabcabca ......
字符串 字符 LeetCode 459

[LeetCode] 1337. The K Weakest Rows in a Matrix 矩阵中战斗力最弱的 K 行

You are given an m x n binary matrix mat of 1's (representing soldiers) and 0's (representing civilians). The soldiers are positioned in front of the ......
矩阵 战斗力 LeetCode Weakest Matrix

【DP】LeetCode 剑指 Offer 46. 把数字翻译成字符串

题目链接 剑指 Offer 46. 把数字翻译成字符串 思路 这个问题与 dp 中的经典问题“跳台阶”问题十分类似,在跳台阶问题中我们是选择跳一个台阶或者两个台阶,而在这个问题中我们是选择再统计一个字符还是再统计两个字符。所以他们的状态转移方程都包含 $dp[i]=dp[i-1]+dp[i-2]$。 ......
字符串 字符 LeetCode 数字 Offer

快慢指针-leetcode141-判断链表中是否有环。

LeetCode #141 题目描述: 给定一个链表,判断链表中是否有环。 如果链表中存在环,则返回 true 。 否则,返回 false 。 进阶:你能用 O(1)(即,常量)内存解决此问题吗? 示例 1: example1 输入:head = [3,2,0,-4], pos = 1 输出:tru ......
快慢 指针 leetcode 141

C# 将对象转换成字节数组(二进制数据)

在将自定义对象或者数组等这样的数据存储到数据库时往往需要转换成二进制字节,尤其是在一些O/RM数据库框架中,下面是转换的函数,一个是将对象转换成二进制字节数组,另一个是将从数据库中读取的二进制流转换成程序中的对象。 这里参考的资源来源, C#序列化数据对象。它是将对象先转换成字节数组,然后再转换成B ......
二进制 数组 字节 对象 数据

C#对象与字节数组互相转换

public static byte[] ObjectToByteArray(Object obj) { BinaryFormatter bf = new BinaryFormatter(); using (var ms = new MemoryStream()) { bf.Serialize(ms ......
数组 字节 对象

将一个多维数组整合成树形结构,可以通过递归函数来实现

function buildTree(arr, parentId = null) { let tree = []; for (let i = 0; i < arr.length; i++) { let item = arr[i]; if (item.parentId parentId) { let ......
树形 数组 函数 可以通过 结构

连续子数组的最大和

输入一个整型数组,数组中的一个或连续多个整数组成一个子数组。求所有子数组的和的最大值。 要求时间复杂度为O(n)。 示例1: 输入: nums = [-2,1,-3,4,-1,2,1,-5,4] 输出: 6 解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。 提示: 1 <= arr.le ......
数组

TZOJ 4776: 乘积最大 动态规划

描述 今年是国际数学联盟确定的“2000――世界数学年”,又恰逢我国著名数学家华罗庚先生诞辰90周年。在华罗庚先生的家乡江苏金坛,组织了一场别开生面的数学智力竞赛的活动,你的一个好朋友XZ也有幸得以参加。活动中,主持人给所有参加活动的选手出了这样一道题目: 设有一个长度N的数字串,要求选手使用K个乘 ......
乘积 动态 TZOJ 4776

2395. 和相等的子数组[每日一题]

public boolean findSubarrays(int[] nums) { Map<Integer,Integer> allSets = new HashMap<>(); for(int i = 0; i < nums.length - 1; i++){ int res= nums[i] ......
数组 2395

LeetCode 202 快乐数

LeetCode 202 快乐数 题目跳转链接 具体实现思路如下: 实现一个函数getSum,用来计算一个数各个位上的数字的平方和。具体实现就是对这个数进行除十操作和取余操作,对每个位上的数字平方后累加到总和中。 在一个while循环中,不断调用getSum函数,直到计算出1或者陷入无限循环为止。同 ......
LeetCode 202

Java入门_一维数组_第四题_数组添加

题目 数组添加 要求 实现动态的给数组添加元素效果,实现对数组扩容。 原始数组使用静态分配,int [ ]arr = { 1, 2 ,3 }。 增加的元素,直接放在数组最后。 用户可以通过如下方法来决定是否继续添加,若添加成功,显示是否继续?y/n 代码实现 : import java.util.S ......
数组 Java

力扣---6357. 使数组元素全部相等的最少操作次数

给你一个正整数数组 nums 。同时给你一个长度为 m 的整数数组 queries 。第 i 个查询中,你需要将 nums 中所有元素变成 queries[i] 。你可以执行以下操作 任意 次: 将数组里一个元素 增大 或者 减小 1 。请你返回一个长度为 m 的数组 answer ,其中 answ ......
数组 元素 次数 6357

Leetcode 349. 两个数组的交集

力扣题目跳转链接 代码随想录 题解 题目要求:给定两个数组 nums1 和 nums2 ,返回 它们的交集 。输出结果中的每个元素一定是 唯一 的。我们可以 不考虑输出结果的顺序 。 解法一: unordered_set ......
数组 交集 Leetcode 两个 349

一维数组的使用(二)

数组的长度 数组的元素总个数,即数组的长度。每个数组都有一个属性length指明它的长度,例如:arr.length 指明数组arr的长度(即元素个数);每个数组都具有长度,而且一旦初始化,其长度就是确定,且是不可变的。 数组元素的引用 如何表示数组中的一个元素? 每一个存储到数组的元素,都会自动的 ......
数组

6357.使数组元素全部相等的最少操作次数-338

使数组元素全部相等的最小操作次数 给你一个正整数数组 nums 。 同时给你一个长度为 m 的整数数组 queries 。第 i 个查询中,你需要将 nums 中所有元素变成 queries[i] 。你可以执行以下操作 任意 次: 将数组里一个元素 增大 或者 减小 1 。 请你返回一个长度为 m  ......
数组 元素 次数 6357 338

【LeetCode动态规划#05】背包问题的理论分析(基于代码随想录的个人理解,多图)

背包问题 问题描述 背包问题是一系列问题的统称,具体包括:01背包、完全背包、多重背包、分组背包等(仅需掌握前两种,后面的为竞赛级题目) 下面来研究01背包 实际上即使是最经典的01背包,也不会直接出现在题目中,一般是融入到其他的题目背景中再考察 因为是学习原理,所以先跳过最原始的问题模板来学。 0 ......
随想录 随想 背包 LeetCode 理论

LeetCode 142.环形链表II

力扣LeetCode 142.环形链表II 题目跳转链接 解题思路: 代码随想录: 142.环形链表II 从头结点出发一个指针, 从相遇节点 也出发一个指针,这两个指针每次只走一个节点, 那么当这两个指针相遇的时候就是 环形入口的节点。 ......
环形 LeetCode 142

LeetCode 面试题 02.07. 链表相交

面试题 02.07. 链表相交 力扣 题目跳转链接 思路参考:代码随想录 跳转链接 错误代码: class Solution { public: ListNode *getIntersectionNode(ListNode *headA, ListNode *headB) { ListNode* f ......
LeetCode 02 07

LeetCode 1574 删除最短子数组使剩余数组有序

LeetCode | 1574.删除最短子数组使剩余数组有序 给你一个整数数组 arr ,请你删除一个子数组(可以为空),使得 arr 中剩下的元素是 非递减 的。 一个子数组指的是原数组中连续的一个子序列。 请你返回满足题目要求的最短子数组的长度。 示例 1: 输入:arr = [1,2,3,10 ......
数组 LeetCode 1574

LeetCode|1574. 删除最短的子数组使剩余数组有序

题目链接:1574. 删除最短的子数组使剩余数组有序 给你一个整数数组 arr ,请你删除一个子数组(可以为空),使得 arr 中剩下的元素是 非递减 的。 一个子数组指的是原数组中连续的一个子序列。 请你返回满足题目要求的最短子数组的长度。 示例 1: 输入:arr = [1,2,3,10,4,2 ......
数组 LeetCode 1574

LeetCode|1032. 字符流

题目链接:1032. 字符流 设计一个算法:接收一个字符流,并检查这些字符的后缀是否是字符串数组 words 中的一个字符串。 例如,words = ["abc", "xyz"] 且字符流中逐个依次加入 4 个字符 'a'、'x'、'y' 和 'z' ,你所设计的算法应当可以检测到 "axyz" 的 ......
字符 LeetCode 1032

指针与数组(二)

指针和数组之间的替换 : 一维数组和指针: 数组名是数组的首地址 数组名是一个常指针 不可修改 可以对指针操作来访问元素 访问数组的方式:1.直接访问数组a[5]; 2.使用指针*p 等价于a[0]*(p+1)等价于a[1] 3.修改数组的值a[5]=10;*(p+5)=10; 实例: main() ......
数组 指针

leetcode1574

双指针法,结果只能从最左边或者最右边或者最左边加上最右边中取 class Solution { public: int findLengthOfShortestSubarray(vector<int>& arr) { int n = arr.size(),res = 1,res2 = 1,res3 ......
leetcode 1574

Leetcode 22. 括号生成

题目链接在这里: 还是比较经典的括号匹配问题,这题学习了函数内套子函数的写法,但是关于全局变量还是有一点问题要问问龙哥,先挖个坑放这…… from ast import List # class Solution: # def generateParenthesis(self, n: int) -> ......
括号 Leetcode 22

Leetcode 18. 四数之和(双指针)

题目链接在这里:四数之和 这道题和前面的三数之和一模一样,只是需要枚举前两个数而已,需要注意一下前两个数的重复点的判断,并且不要忘记排序。 from ast import List class Solution: def fourSum(self, nums: List, target: int): ......
之和 指针 Leetcode 18

[LeetCode] 2316. Count Unreachable Pairs of Nodes in an Undirected Graph

You are given an integer n. There is an undirected graph with n nodes, numbered from 0 to n - 1. You are given a 2D integer array edges where edges[i] ......
Unreachable Undirected LeetCode Count Graph

LeetCode 19 删除链表的倒数第N个节点

LeetCode 19 删除链表的倒数第N个节点 题目跳转链接 class Solution { public: ListNode* removeNthFromEnd(ListNode* head, int n) { ListNode* dummyHead=new ListNode(0); dumm ......
节点 LeetCode 19

LeetCode 24. 两两交换链表中的节点

24. 两两交换链表中的节点 力扣题目跳转链接 具体解题思路和答案可以参考:代码随想录: 24. 两两交换链表中的节点 ####自我错误思考过程记录: &#10008 错误代码: //思路: class Solution { public: ListNode* swapPairs(ListNode* ......
节点 LeetCode 24