拓扑 前缀 线性leetcode

『LeetCode』1. 两数之和 Two Sum

『1』暴力法 class Solution { // Brute Force // Time Complexity: O(n^2) // Space Complexity: O(1) public int[] twoSum(int[] nums, int target) { for (int i = ......
之和 LeetCode Two Sum

Leetcode 2507. 使用质因数之和替换后可以取到的最小值 优化前 优化后

https://leetcode.cn/problems/smallest-value-after-replacing-with-sum-of-prime-factors/description/ 给你一个正整数 n 。 请你将 n 的值替换为 n 的 质因数 之和,重复这一过程。 注意,如果 n ......
质因数 之和 Leetcode 2507

离散化,前缀和,差分

离散化,前缀和,差分 一维前缀和和差分之前学过不再记录 二维情况 前缀和 多维前缀和的普通求解方法几乎都是基于容斥原理 例如有这样一个矩阵,可以视为二维数组: 1 2 4 3 5 1 2 4 6 3 5 9 定义一个矩阵\(sum\)使得\(sum_{x,y}=\sum_{i=1}^{x}\sum_ ......
前缀

线性DP

线性DP 例题:POJ2279 思考: 考虑 dp_{i,j,k} 表示第 i 行,第 j 列,安排 k 去站的方案数。 错误原因: 安排 k 去站但是可能会造成重复选择 k 。 正解: 考虑 dp_{a1,a2,a3,a4,a5} 表示各排从左边起分别站了 a1,a2,a3,a4,a5 个人时,合 ......
线性

[LeetCode] LeetCode162. 寻找峰值

题目描述 思路:同LeetCode852.山脉数组的顶峰索引 注意:当nums数组只有一个元素的时候,这个元素就是顶元素 因为根据题目:nums[-1] = nums[n] = -∞ 方法一: class Solution { public int findPeakElement(int[] num ......
LeetCode 峰值 162

[LeetCode] LeetCode852. 山脉数组的顶峰索引

题目描述 思路:用二分进行排除不满足条件的元素,最后剩下的元素即为答案 往常我们使用「二分」进行查值,需要确保序列本身满足「二段性」:当选定一个端点(基准值)后,结合「一段满足 & 另一段不满足」的特性来实现“折半”的查找效果。 但本题求的是峰顶索引值,如果我们选定数组头部或者尾部元素,其实无法根据 ......
LeetCode 数组 顶峰 索引 852

[LeetCode Hot 100] LeetCode74. 搜索二维矩阵

题目描述 思路:二维矩阵坐标变换 + 二分查找 二维矩阵坐标变换: 只要知道二维数组的的行数m和列数n,二维数组的坐标 (i, j) 可以映射成一维的index = i * n + j;反过来也可以通过一维index反解出二维坐标 i = index / n,j = index % n。(n是列数) ......
LeetCode 矩阵 Hot 100 74

【模版】前缀和

问题引入: 【洛谷P8218】 ## 题目描述 给定 $n$ 个正整数组成的数列 $a_1, a_2, \cdots, a_n$ 和 $m$ 个区间 $[l_i,r_i]$,分别求这 $m$ 个区间的区间和。 对于所有测试数据,$n,m\le10^5,a_i\le 10^4$ 最朴素的想法,就是对于 ......
前缀 模版

[LeetCode] 1362. Closest Divisors 最接近的因数

Given an integer num, find the closest two integers in absolute difference whose product equals num + 1 or num + 2. Return the two integers in any ord ......
因数 LeetCode Divisors Closest 1362

题解 P9963【[THUPC 2024 初赛] 前缀和】

注意到,\(x_i\) 取 \(k\) 的概率是 \(p(1-p)^{k-1}\),是和为 \(1\) 的等比数列,下面考察数列前缀和的性质。 不难想到,概率每次乘以 \(1-p\) 像是概率的分步乘法,每一步正是加一的操作。于是可以得到如下转化:初始时 \(S=0\),每一时刻 \(S\) 先增加 ......
题解 初赛 前缀 P9963 THUPC

题解 P9963【[THUPC 2024 初赛] 前缀和】

注意到,\(x_i\) 取 \(k\) 的概率是 \(p(1-p)^{k-1}\),是和为 \(1\) 的等比数列,下面考察数列前缀和的性质。 不难想到,概率每次乘以 \(1-p\) 像是概率的分步乘法,每一步正是加一的操作。于是可以得到如下转化:初始时 \(S=0\),每一时刻 \(S\) 先增加 ......
题解 初赛 前缀 P9963 THUPC

【算法】【线性表】下一个排列

1 题目 整数数组的一个 排列 就是将其所有成员以序列或线性顺序排列。 例如,arr = [1,2,3] ,以下这些都可以视作 arr 的排列:[1,2,3]、[1,3,2]、[3,1,2]、[2,3,1] 。 整数数组的 下一个排列 是指其整数的下一个字典序更大的排列。更正式地,如果数组的所有排列 ......
线性 算法

【算法】【线性表】移除元素

1 题目 给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。 不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。 元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。 示例 1: 输入:nums ......
线性 算法 元素

机器学习-线性分类-支持向量机SVM-SMO算法-14

目录1. SVM算法总结2. SMO算法 1. SVM算法总结 选择 核函数 以及对应的 超参数 为什么要选择核函数? 升维 将线性问题不可分问题 升维后转化成 线性可分的问题 核函数 有那些? linea gauss polinormail tanh 选择惩罚项系数C min ||w||2 + C ......
向量 线性 算法 机器 SVM-SMO

字符串篇(leetcode—最长公共前缀)

字符串 百度百科:字符串或串(String)是由数字、字母、下划线组成的一串字符。一般记为 s="a1a2···an"(n>=0)。它是编程语言中表示文本的数据类型。 常用函数 比较函数 C++、Python等支持运算符重载的语言——可以使用 == 来比较两个字符串 JAVA等不支持运算符重载——可 ......
前缀 字符串 字符 leetcode

Leetcode—旋转矩阵

48. 旋转图像 给定一个 n × n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。 你必须在 原地 旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵来旋转图像。 示例 1: 输入:matrix = [[1,2,3],[4,5,6],[7,8,9]] ......
矩阵 Leetcode

Leetcode 71. 简化路径

https://leetcode.cn/problems/simplify-path/description/ 给你一个字符串 path ,表示指向某一文件或目录的 Unix 风格 绝对路径 (以 '/' 开头),请你将其转化为更加简洁的规范路径。 在 Unix 风格的文件系统中,一个点(.)表示当 ......
路径 Leetcode 71

[LeetCode22-中等-DFS] 括号生成

这道题考使用回溯(递归的一种)进行深度优先算法,题目是这样的 数字n代表生产括号的对数,写一个算法,返回所有有效的括号组合 比如 n =1 代表生成1对括号,显然答案就是 “()" n = 2, 代表生成2对括号, 答案就是"()()","(())" n=3 代表生成3对括号,答案就是 "((()) ......
括号 LeetCode DFS 22

[LeetCode] LeetCode81. 搜索旋转排序数组II

题目描述 思路:是lc33.搜索旋转排序数组的延伸,允许包含重复元素 起初: 当nums[left] <= nums[mid]时,区间[left,mid]有序 当nums[left] > nums[mid]时,区间[mid ,right]有序 但是这个题目当nums[left] == nums[mi ......
LeetCode 数组 81

[LeetCode Hot 100] LeetCode153. 寻找旋转排序数组中的最小值

题目描述 思路 如果数组翻转后又回到升序的情况,即nums[left] <= nums[right],则nums[left]就是最小值,直接返回。 如果数组翻转,需要找到数组中第二部分的第一个元素: 若 nums[left] <= nums[mid],说明区间 [left,mid] 连续递增,则最小 ......
LeetCode 数组 Hot 100 153

Leetcode 044. 通配符匹配

https://leetcode.cn/problems/wildcard-matching/description/ 给你一个输入字符串 (s) 和一个字符模式 (p) ,请你实现一个支持 '?' 和 '*' 匹配规则的通配符匹配: '?' 可以匹配任何单个字符。 '*' 可以匹配任意字符序列(包 ......
通配符 Leetcode 044

线性映射与矩阵空间同构、线性映射的维数公式

![](https://img2023.cnblogs.com/blog/2702872/202312/2702872-20231219213207435-2004875802.jpg) ![](https://img2023.cnblogs.com/blog/2702872/202312/2702... ......
线性 矩阵 公式 空间

[LeetCode Hot 100] LeetCode35. 搜索插入位置

题目描述 思路 基础二分搜索模板 本质:找到第一个大于等于target的元素的下标 注意: 该题目不存在重复元素 存在一种特殊情况:target > nums的最大值,此时插入的位置正好是left的位置 方法一: class Solution { public int searchInsert(in ......
LeetCode 位置 Hot 100 35

[LeetCode Hot 100] LeetCode33. 搜索旋转排序数组

题目描述 思路 如果nums[left] <= nums[mid],则[left, mid]有序 如果nums[left] > nums[mid],则[mid,right]有序 方法一: class Solution { public int search(int[] nums, int targe ......
LeetCode 数组 Hot 100 33

[LeetCode Hot 100] LeetCode34.在排序数组中查找元素的第一个和最后一个位置

题目描述 思路: 二分查找之寻找左右侧边界 两个关键点:1. 数组有序;2. 时间复杂度O(log n) 方法一: class Solution { public int[] searchRange(int[] nums, int target) { if (nums.length == 0 || ......
LeetCode 数组 元素 位置 Hot

[LeetCode] LeetCode704. 二分查找

题目描述 思路 基础二分查找模板的考察。 方法一: class Solution { public int search(int[] nums, int target) { if (nums == null || nums.length == 0) return -1; int left = 0, ......
LeetCode 704

莫比乌斯函数平方前缀和

考虑求\(\sum_{i=1}^n\mu(i)^2\) 结论是\(\mu(i)^2=\sum_{j^2|i}\mu(j)\) 考虑证明这个式子。 先证明若\(\mu(i)\neq 0\)此时\(\mu(i)^2=1\) 显然只有\(j=1\)在右式造成贡献\(1\)等式成立。 若存在\(j\neq ......
前缀 函数

代码随想录算法训练营第五天| LeetCode242.有效的字母异位词、349. 两个数组的交集、202. 快乐数、1. 两数之和

LeetCode242.有效的字母异位词 ● 今日学习的文章链接和视频链接 代码随想录 (programmercarl.com) 题目链接 242. 有效的字母异位词 - 力扣(LeetCode) ● 自己看到题目的第一想法 public boolean anagram(String s, Stri ......
随想录 之和 训练营 数组 交集

机器学习-线性分类-支持向量机SVM-软间隔-13

目录1. 总结 SVM2. 软间隔svm 1. 总结 SVM SVM算法的基础是感知器模型, 感知器模型 与 逻辑回归的不同之处? 逻辑回归 sigmoid(θx) 映射到 0-1之间给出预测概率 感知器分类 sign(θx) 输出θx的符号, +1 或者-1 给出x是属于正样本还是负样本 直接输出 ......
向量 线性 机器 SVM 13

拓扑排序

一、拓扑排序的定义 __拓扑排序是一个有向无环图的所有顶点的一种线性排序,使得对于顶点u到顶点v的每个有向边u \(\rightarrow\) w u在排序中都在v之前。当且仅当无环时(有向无环)才有可能进行拓扑排序。 二、DFS求拓扑排序 1、先看dfs前序和后序遍历、逆后序遍历的实现 伪代码 v ......
拓扑
共2560篇  :6/86页 首页上一页6下一页尾页