时针 矩阵offer

1572. 矩阵对角线元素的和

分析: 找了一个小规律 首先对角线上的数是从第一行到最后一行按顺序的 在每一行上下标逐渐加1,最后总次数是矩阵的长度 最重要的是,两个对角线是对称的 也就是当取前面的第一个数时,后面对角线就是-1;前面取第二个时,后面就是-2 然后有个细节,当行数为奇数时需要减去一个正中间的数,重复了 然后写代码 ......
对角线 对角 矩阵 元素 1572

剑指 Offer II 083. 没有重复元素集合的全排列

分析: 今天看的明日一练,这道题有点忘了怎么做了 先偷个懒,用了个全排列函数,后面再研究 代码: 1 class Solution(object): 2 def permute(self, nums): 3 """ 4 :type nums: List[int] 5 :rtype: List[Lis ......
元素 Offer 083 II

Fine-Grained学习笔记(3):最短路(边权,点权),(min,+)矩阵乘

问题:APSP(全局最短路) 给定$G=(V,E)$,其中边集$E$带权值,对于$\forall s,t \in V$,计算$d(s,t)$,即从$s$到$t$的最小的经过路径权值之和 已知的算法:$n$次(堆优化的)Dijkstra算法:$\widetilde{O}(|V|\cdot|E|)$ F ......
矩阵 Fine-Grained Grained 笔记 Fine

位运算:剑指 Offer 39. 数组中出现次数超过一半的数字

题目描述: 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。 你可以假设数组是非空的,并且给定的数组总是存在多数元素。 限制: 1 <= 数组长度 <= 50000 解题思路: 摩尔投票法: 核心理念为 票数正负抵消 。此方法时间和空间复杂度分别为 O(N) 和 O(1) ,为本题的最 ......
数组 次数 数字 Offer 39

【剑指 Offer】49. 丑数

【题目】 我们把只包含质因子 2、3 和 5 的数称作丑数(Ugly Number)。求按从小到大的顺序的第 n 个丑数。 示例:输入: n = 10输出: 12解释: 1, 2, 3, 4, 5, 6, 8, 9, 10, 12 是前 10 个丑数。说明: 1 是丑数。 n 不超过1690。来源: ......
Offer 49

【剑指 Offer】 19. 正则表达式匹配

【题目】 请实现一个函数用来匹配包含'. '和'*'的正则表达式。模式中的字符'.'表示任意一个字符,而'*'表示它前面的字符可以出现任意次(含0次)。在本题中,匹配是指字符串的所有字符匹配整个模式。例如,字符串"aaa"与模式"a.a"和"ab*ac*a"匹配,但与"aa.a"和"ab*a"均不匹 ......
正则 表达式 Offer 19

数栈V6.0全新产品矩阵发布,数据底座 EasyMR 焕新升级

4月20日,袋鼠云成功举行了以“数实融合,韧性生长”为主题的2023春季生长大会。会上,袋鼠云自主研发的一站式大数据基础软件——数栈V6.0产品矩阵全新发布。对旗下大数据基础平台、大数据开发与治理、数据智能分析与洞察三大模块的全线产品进行全新升级,并重点发布了企业级数据计算与存储平台——自研大数据引 ......
底座 矩阵 全新 数据 EasyMR

排序:剑指 Offer 45. 把数组排成最小的数

题目描述: 输入一个非负整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。 提示: 0 < nums.length <= 100说明: 输出结果可能非常大,所以你需要返回一个字符串而不是整数 拼接起来的数字可能会有前导 0,最后结果不需要去掉前导 0 注:+ 代表的是 ......
数组 Offer 45

剑指 Offer 10- I. 斐波那契数列

分析: 偷个懒,上次做的一样的题 代码: 1 class Solution(object): 2 def fib(self, n): 3 """ 4 :type n: int 5 :rtype: int 6 """ 7 if n<2: 8 return n 9 f=[0 for i in range ......
数列 Offer 10

【剑指 Offer】38. 字符串的排列

【题目】 输入一个字符串,打印出该字符串中字符的所有排列。 你可以以任意顺序返回这个字符串数组,但里面不能有重复元素。 示例:输入:s = "abc"输出:["abc","acb","bac","bca","cab","cba"]来源:力扣(LeetCode)链接:https://leetcode. ......
字符串 字符 Offer 38

矩阵乘法的指令集加速例子

这里就不介绍基本概念了,直接给代码和对比结果。分别是普通C++代码,SSE加速代码和OpenCV代码。代码基于VS2017、OpenCV430和Qt5.9。CPU型号是Intel Core i5-7400。 Mat mul1(const Mat& a, const Mat& b) { ASSERT( ......
乘法 矩阵 指令 例子

【剑指 Offer】 37. 序列化二叉树

【题目】 请实现两个函数,分别用来序列化和反序列化二叉树。你需要设计一个算法来实现二叉树的序列化与反序列化。这里不限定你的序列 / 反序列化算法执行逻辑,你只需要保证一个二叉树可以被序列化为一个字符串并且将这个字符串反序列化为原始的树结构。提示:输入输出格式与 LeetCode 目前使用的方式一致, ......
序列 Offer 37

1351. 统计有序矩阵中的负数(leetcode)

https://leetcode.cn/problems/count-negative-numbers-in-a-sorted-matrix/ 1351. 统计有序矩阵中的负数 1.二分法:把每一行进行一遍二分,找到正数与负数的边界,且此时grid[i][mid]也为负数,即边界下标的对应值是负数的 ......
负数 矩阵 leetcode 1351

测试矩阵相乘

#include <QtWidgets/QApplication> #include <QtWidgets/QGraphicsScene> #include <QtWidgets/QGraphicsView> #include <QtCore/QPointF> #include <QtCore/QD ......
矩阵

分治算法:剑指 Offer 36. 二叉搜索树与双向链表

题目描述: 输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的循环双向链表。要求不能创建任何新的节点,只能调整树中节点指针的指向。 为了让您更好地理解问题,以下面的二叉搜索树为例: 我们希望将这个二叉搜索树转化为双向循环链表。链表中的每个节点都有一个前驱和后继指针。 对于双向循环链表,第一个节点的前 ......
双向 算法 Offer 36

【剑指 Offer】 59 - II. 队列的最大值

【题目】 请定义一个队列并实现函数 max_value 得到队列里的最大值,要求函数max_value、push_back 和 pop_front 的均摊时间复杂度都是O(1)。若队列为空,pop_front 和 max_value 需要返回 -1示例 1:输入: ["MaxQueue","push ......
最大值 队列 Offer 59 II

【剑指 Offer】 59 - I. 滑动窗口的最大值

【题目】 给定一个数组 nums 和滑动窗口的大小 k,请找出所有滑动窗口里的最大值。示例:输入: nums = [1,3,-1,-3,5,3,6,7], 和 k = 3输出: [3,3,5,5,6,7] 解释: 滑动窗口的位置 最大值 [1 3 -1] -3 5 3 6 7 3 1 [3 -1 - ......
最大值 Offer 59

大规模 Transformer 模型 8 比特矩阵乘简介 - 基于 Hugging Face Transformers、Accelerate 以及 bitsandbytes

引言 语言模型一直在变大。截至撰写本文时,PaLM 有 5400 亿参数,OPT、GPT-3 和 BLOOM 有大约 1760 亿参数,而且我们仍在继续朝着更大的模型发展。下图总结了最近的一些语言模型的尺寸。 由于这些模型很大,因此它们很难在一般的设备上运行。举个例子,仅推理 BLOOM-176B ......

Fine-Grained学习笔记(2):矩阵乘法

问题:矩阵乘法 方阵乘法: 给定两个$n \times n$的矩阵$A=(a_{ij}),B=(b_{ij})$,计算$C=AB,c_{ij}=\Sigma_{k=1}^na_{ik}b_{kj}$. (由于语言习惯,本文中提到矩阵且无其他说明的场合,均指方阵) 朴素算法的复杂度:$O(n^3)$ ......
乘法 矩阵 Fine-Grained Grained 笔记

剑指 Offer II 017. 含有所有字符的最短字符串

题目链接:剑指 Offer II 017. 含有所有字符的最短字符串 方法:同向双指针 解题思路 基本思路:统计 $t$ 字符串中每个字符的个数,然后使用双指针遍历字符串 $s$,当窗口覆盖 $t$ 中所有字符时,开始缩短左指针到可以到达的最右侧,取窗口最小的字符串为答案; 需要考虑的问题: 什么情 ......
字符 字符串 Offer 017 II

分治算法:剑指 Offer 25. 合并两个排序的链表

题目描述: 输入两个递增排序的链表,合并这两个链表并使新链表中的节点仍然是递增排序的。 限制: 0 <= 链表长度 <= 1000 解题思路: class Solution { public ListNode mergeTwoLists(ListNode l1, ListNode l2) { Lis ......
算法 两个 Offer 25

剑指 Offer 55 - II. 平衡二叉树

剑指 Offer 55 - II. 平衡二叉树 输入一棵二叉树的根节点,判断该树是不是平衡二叉树。如果某二叉树中任意节点的左右子树的深度相差不超过1,那么它就是一棵平衡二叉树。 示例 1: 给定二叉树 [3,9,20,null,null,15,7] 3 / \ 9 20 / \ 15 7 返回 tr ......
Offer 55 II

【DP】LeetCode 1277. 统计全为 1 的正方形子矩阵

题目链接 1277. 统计全为 1 的正方形子矩阵 思路 分析动态规划题目的时候只需要考虑最后一个阶段,因为所有的阶段转化都是相同的,考虑最后一个阶段容易发现规律 在数组的动态规划问题中,一般 dp[i] 都是表示以 nums 以前 i 个元素组成(即 nums[i - 1])的状态;dp[i][j ......
正方形 正方 矩阵 LeetCode 1277

剑指 Offer 10- II. 青蛙跳台阶问题

分析: 因为好久没有练习思维还没有转变,所以这道题思考有点慢 首先还是建立状态,到达第i级台阶时,有f[i]种跳法 最后答案f[n-1] 再状态转移,f[i]=f[i-1]+f[i-2] 赋初值,因为可以选择跳一阶或者两阶,所以初始赋值f[0]和f[1],f[0]=1,f[1]=2 然后编写代码,但 ......
台阶 青蛙 问题 Offer 10

剑指 Offer II 088. 爬楼梯的最少成本

剑指 Offer II 088. 爬楼梯的最少成本 - 力扣(LeetCode) 代码: class Solution(object): def minCostClimbingStairs(self, cost): """ :type cost: List[int] :rtype: int """ ......
楼梯 成本 Offer 088 II

回溯算法:剑指 Offer 38. 字符串的排列

题目描述: 输入一个字符串,打印出该字符串中字符的所有排列。 你可以以任意顺序返回这个字符串数组,但里面不能有重复元素。 限制: 1 <= s 的长度 <= 8 class Solution{ Set<String> res = new HashSet<>(); public String[] pe ......
字符串 算法 字符 Offer 38

MKL稀疏矩阵运算示例及函数封装

Intel MKL库提供了大量优化程度高、效率快的稀疏矩阵算法,使用MKL库的将大型矩阵进行稀疏表示后,利用稀疏矩阵运算可大量节省计算时间和空间,但由于MKL中的原生API接口繁杂,因此将常用函数封装,便于后续使用,最后在实际例子中调用接口执行想要的矩阵运算。 0 稀疏矩阵 稀疏矩阵是指矩阵中大部分 ......
矩阵 示例 函数 MKL

MKL普通矩阵运算示例及函数封装

本示例将介绍MKL中的矩阵乘法和求逆,使用MKL进行此类大型矩阵运算可大量节省计算时间和空间,但由于MKL中的原生API接口繁杂,因此将常用函数封装,便于后续使用,最后在实际例子中调用接口执行想要的矩阵运算。 1 MKL矩阵乘法案例 所用示例如下,矩阵A、B分别为 $$ A = {\left[ {\ ......
矩阵 示例 函数 MKL

剑指 Offer 33. 二叉搜索树的后序遍历序列(java解题)

leetcode《图解数据结构》剑指 Offer 33. 二叉搜索树的后序遍历序列(java解题)的解题思路和java代码,并附上java中常用数据结构的功能函数。 ......
序列 Offer java 33

51单片机学习笔记 STC89C52RC (05)矩阵键盘和独立键盘(轻触开关)

按键抖动,需要消抖 原理图来自清翔电子 一、独立键盘模块 1.可以直接获取 P3^0对应S2 P3^1对应S3 P3^2对应S4 P3^3对应S5 的电压 当轻触开关按下时,电流会流向GND,此时这一路的电压为0V,松开轻触开关,又变为5V //第一种方法:单个I/O口检测控制 #include < ......
键盘 矩阵 单片机 笔记 STC