自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(428)
  • 收藏
  • 关注

原创 leetcode刷题(133)——剑指 Offer 07. 重建二叉树

递归共建立 N个节点,每层递归中的节点建立、搜索操作占用 O(1) ,因此使用 O(N)时间。递推参数: 根节点在前序遍历的索引 root 、子树在中序遍历的左边界 left 、子树在中序遍历的右边界 right;在中序遍历中搜索根节点 node 的索引 ,可将 中序遍历 划分为 [ 左子树 | 根节点 | 右子树 ]。根据中序遍历中的左(右)子树的节点数量,可将 前序遍历 划分为 [ 根节点 | 左子树 | 右子树 ]。输入某二叉树的前序遍历和中序遍历的结果,请构建该二叉树并返回其根节点。

2022-11-25 10:25:52 441

原创 leetcode刷题(132)——完全背包问题思路理解

有N件物品和一个最多能背重量为W的背包。第i件物品的重量是weight[i],得到的价值是value[i]。每件物品都有无限个(也就是可以放入背包多次),求解将哪些物品装入背包里物品价值总和最大。同样leetcode上没有纯完全背包问题,都是需要完全背包的各种应用,需要转化成完全背包问题,所以这里还是以纯完全背包问题进行讲解理论和原理。对照01背包的代码,就是将第二个循环从小到大进行枚举即可。完全背包和01背包问题唯一不同的地方就是,每种物品有无限件。版本1:这是朴素版本的,时间复杂度O(nm^2)

2022-11-18 10:15:53 458

原创 leetcode刷题(131)——背包问题理解

面试的话,其实掌握01背包,和完全背包,就够用了,最多可以再来一个多重背包。

2022-11-15 11:36:49 321

原创 leetcode刷题(130)——最大得分的路径数目

给你一个正方形字符数组 board ,你从数组最右下方的字符 ‘S’ 出发。你的目标是到达数组最左上角的字符 ‘E’ ,数组剩余的部分为数字字符 1, 2, …, 9 或者障碍 ‘X’。在每一步移动中,你可以向上、向左或者左上方移动,可以移动的前提是到达的格子没有障碍。一条路径的 「得分」 定义为:路径上所有数字的和。请你返回一个列表,包含两个整数:第一个整数是 「得分」 的最大值,第二个整数是得到最大得分的方案数,请把结果对 10^9 + 7 取余。

2022-11-10 14:41:31 425

原创 leetcode刷题(129)——576. 出界的路径数

给你一个大小为 m x n 的网格和一个球。球的起始坐标为 [startRow, startColumn]。你可以将球移到在四个方向上相邻的单元格内(可以穿过网格边界到达网格之外)。你 最多 可以移动 maxMove 次球。给你五个整数 m、n、maxMove、startRow 以及 startColumn ,找出并返回可以将球移出边界的路径数量。因为答案可能非常大,返回对 109 + 7 取余 后的结果。

2022-11-08 20:50:47 377

原创 leetcode刷题(128)——1575. 统计所有可行路径,动态规划解法

给你一个 互不相同 的整数数组,其中 locations[i] 表示第 i 个城市的位置。同时给你 start,finish 和 fuel 分别表示出发城市、目的地城市和你初始拥有的汽油总量每一步中,如果你在城市 i ,你可以选择任意一个城市 j ,满足 j!= i 且 0

2022-11-08 15:43:29 348

原创 leetcode刷题(127)——1575. 统计所有可行路径,DFS解法

给你一个 互不相同 的整数数组,其中 locations[i] 表示第 i 个城市的位置。同时给你 start,finish 和 fuel 分别表示出发城市、目的地城市和你初始拥有的汽油总量每一步中,如果你在城市 i ,你可以选择任意一个城市 j ,满足 j!= i 且 0

2022-11-07 21:18:53 331

原创 leetcode刷题(126)——1289. 下降路径最小和 II

给你一个 n x n 整数矩阵 arr ,请你返回 非零偏移下降路径 数字和的最小值。非零偏移下降路径 定义为:从 arr 数组中的每一行选择一个数字,且按顺序选出来的数字中,相邻数字不在原数组的同一列。

2022-11-06 16:50:28 378

原创 leetcode刷题(125)——931. 下降路径最小和

给你一个 n x n 的 方形 整数数组 matrix ,请你找出并返回通过 matrix 的下降路径 的 最小和。下降路径 可以从第一行中的任何元素开始,并从每一行中选择一个元素。在下一行选择的元素和当前行所选元素最多相隔一列(即位于正下方或者沿对角线向左或者向右的第一个元素)。具体来说,位置 (row, col) 的下一个元素应当是 (row + 1, col - 1)、(row + 1, col) 或者 (row + 1, col + 1)。

2022-11-06 12:28:20 242

原创 leetcode刷题(124)——64. 最小路径和

给定一个包含非负整数的 m x n 网格 grid ,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。说明:每次只能向下或者向右移动一步。

2022-11-05 22:00:24 163

原创 leetcode刷题(123)——63. 不同路径 II

一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish”)。现在考虑网格中有障碍物。那么从左上角到右下角将会有多少条不同的路径?网格中的障碍物和空位置分别用 1 和 0 来表示。提示:obstacleGrid[i][j] 为 0 或 1。

2022-11-05 21:25:13 132

原创 leetcode刷题(122)——62. 不同路径

一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。问总共有多少条不同的路径?提示:题目数据保证答案小于等于 2 * 109。

2022-11-05 20:45:19 504

原创 Android面试每日一题(6):BroadcastReceiver 与 LocalBroadcastReceiver 有什么区别?

LocalBroadcastReceiver 是应用内广播,利用Handler实现,利用了IntentFilter的match功能,提供消息的发布与接收功能,实现应用内通信,效率和安全性比较高,仅支持动态注册。BroadcastReceiver 是跨应用广播,利用Binder机制实现,支持动态和静态两种方式注册方式。其他程序无法将广播发送到我们程序内部,不会有安全漏洞。发送的广播不会离开我们的应用,不会泄露关键数据。优先级相同的广播,动态注册的广播优先处理。广播接收者还能对广播进行截断和修改。...

2022-08-16 23:39:49 980

原创 Android面试每日一题(5):抽象类与接口的区别?

如果你往抽象类中添加新的方法,你可以给它提供默认的实现。因此你不需要改变你现在的代码。如果你往接口中添加方法,那么你必须改变实现该接口的类。抽象类中的成员变量可以是各种类型的,而接口中的成员变量只能是 public static final 类型的;接口中不能含有构造器、静态代码块以及静态方法,而抽象类可以有构造器、静态代码块和静态方法;抽象类可以提供成员方法的实现细节,而接口中只能存在 public 抽象方法;抽象类访问速度比接口速度要快,因为接口需要时间去寻找在类中具体实现的方法;...

2022-08-16 23:33:07 884

原创 Android面试每日一题(4): 哪些情况下会导致oom问题?

低内存状态回调,根据不同的内存等级做一些事情,比如在最严重的等级清空所有的bitmap,关掉所有界面,直接强制把app跳转到主界面,相当于app重新启动了一次一样,这样就避免了系统Kill应用进程,与其让系统kill进程还不如浪费一些用户体验,自己主动回收内存。②编码阶段Memery Profile看app的内存使用情况,是否存在内存抖动,内存泄漏,结合Mat分析内存泄漏。1、根据java的内存模型会出现内存溢出的内存有堆内存、方法区内存、虚拟机栈内存、native方法区内存;...

2022-08-11 16:49:10 1122

原创 Android面试每日一题(3): LaunchMode 的应用场景?

Standard 模式是系统默认的启动模式,一般我们 app 中大部分页面都是由该模式的页面构成的,比较常见的场景是:社交应用中,点击查看用户A信息->查看用户A粉丝->在粉丝中挑选查看用户B信息->查看用户B粉丝…SingleInstance 模式常应用于独立栈操作的应用,如闹钟的提醒页面,当你在A应用中看视频时,闹钟响了,你点击闹钟提醒通知后进入提醒详情页面,然后点击返回就再次回到A的视频页面,这样就不会过多干扰到用户先前的操作了。所以在我们的应用中一般不会用到。...

2022-08-11 16:05:50 232

原创 Android面试每日一题(2): 一般什么情况下会导致内存泄漏问题?

低内存状态回调,根据不同的内存等级做一些事情,比如在最严重的等级清空所有的bitmap,关掉所有界面,直接强制把app跳转到主界面,相当于app重新启动了一次一样,这样就避免了。②编码阶段Memery Profile看app的内存使用情况,是否存在内存抖动,内存泄漏,结合Mat分析内存泄漏。(3)接收器、监听器注册没取消造成的内存泄漏,如广播,eventsbus。1、内存泄漏的根本原因在于生命周期长的对象持有了生命周期短的对象的引用。⑥结合业务场景,设置软引用,弱引用,确保对象可以在合适的时机回收。...

2022-08-11 15:42:56 306

原创 Android面试每日一题(1): Handler 如何有效地避免内存泄漏问题

问题在于该Handler的实例采用了内部类的写法,它是ShanActivity这个实例的内部类,在Java中,关于内部类有一个特点:在java中,非静态的内部类和匿名内部类都会隐式的持有一个外部类的引用。在Android系统中,Handler是一个消息发送和处理机制的核心组件之一,与之配套的其他主要组件还有Looper和Message,MessageQueue。如果Handler中是一个2秒的操作,在Activity退出的2s后,释放了Activity的指针,这种情况属于短时间的内存泄漏?......

2022-08-09 18:47:04 355

原创 [万字长文]一文带你深入了解Android Gradle

作为每一个Android研发,相信对gradle并不陌生,android studio新建每个项目或者module都会自动生成gradle文件,AS默认也是采用Gradle作为构建工具的,相信下面这张流程图,大家一定都很眼熟但是apk打包背后是如何gradle产生联系,以及gradle还能为我们平时的开发工作带来哪些帮助并不是都能有时间了解,那么本文就将带大家深入理解Android Gradle。看完本文,你将了解到这些内容:1.掌握 gradle 的基本使用2.了解 gradle 及 andro

2022-05-12 17:15:38 3938

原创 音视频开发基础知识(2)——最通俗易懂的视频编解码理论知识

介绍了所有和音视频相关的基础知识,包括YUV,RGB,视频压缩算法等

2022-03-09 21:43:09 2496

原创 音视频开发基础知识(1)——图像基本概念

介绍了音视频开发中图像的基本概念,包括像素,YUV,RGB等,还有YUV与RGB的相互转换

2022-02-26 23:10:46 988 1

原创 给Android工程师的音视频教程之一文弄懂MediaCodec

MediaCodec是Android提供的用于对音视频进行编解码的类,是Android Media基础框架的一部分,一般和 MediaExtractor, MediaMuxer, Surface和AudioTrack 一起使用。

2022-02-19 22:40:18 5177

原创 给Android工程师的音视频开发学习指南

毕业至今,之前一直从事Android开发的工作,今年5月份开始接触音视频开发相关工作,于是打算写一个音视频相关专栏,让移动端的同学,能通过这个专栏快速掌握音视频相关知识,首先带来第一篇,移动端的音视频技术涉及哪些?1. 整体流程以手机直播为例,其整体流程如下:2. 数据采集2.1. 音频采集音频采集涉及到以下几点:检测麦克风是否可以使用; 需要检测手机对某个音频采样率的支持; 在一些情况下需要对音频进行回声消除处理; 音频采集时设置正确的缓冲区大小。在 Android 系统中,一般使用 Au

2021-11-28 11:04:51 555 2

原创 Flutter原理—布局绘制

真正的布局和大小计算等行为,都是在 RenderBox 上去实现的。 不同的 Widget 通过各自的 RenderBox 实现了“差异化”的布局效果。所以找每个 Widget 的实现,找它的 RenderBox 实现就可以了。所以在 Flutter 中,最终页面的 Layout、Paint 等都会发生在 Widget 所对应的 RenderObject 子类中,而 RenderObject 也是 Flutter 跨平台的最大的特点之一:所有的控件都与平台无关 ,这里简单的人话就是: Flutte

2021-07-04 17:14:02 482 1

原创 Flutter原理—深入Widget原理

事实上在 Flutter 中渲染是经历了从 Widget 到 Element 再到 RenderObject 的过程。Widget 只是 Element 的一个配置描述 ,告诉 Element 这个实例如何去渲染。Widget 和 Element 之间是一对多的关系 。实际上渲染树是由 Element 实例的节点构成的树,而作为配置文件的 Widget 可能被复用到树的多个部分,对应产生多个 Element 对象。RenderObject 才是实际的渲染对象,而通过 Element 源码我们可以看出

2021-07-04 16:36:23 438

原创 android签名原理

为什么要签名?确保Apk来源的真实性。确保Apk没有被第三方篡改。什么是签名?在Apk中写入一个“指纹”。指纹写入以后,Apk中有任何修改,都会导致这个指纹无效,Android系统在安装Apk进行签名校验时就会不通过,从而保证了安全性。apk组成dex:最终生成的Dalvik字节码。res:存放资源文件的目录。asserts:额外建立的资源文件夹。lib:如果存在的话,存放的是ndk编出来的so库。META-INF:存放签名信息MANIFEST.MF(清单文件):其中每一个资源文件都有

2021-03-24 19:54:30 1029

原创 JNI原理

JNI方法注册方式Android系统在启动启动过程中,先启动Kernel创建init进程,紧接着由init进程fork第一个横穿Java和C/C++的进程,即Zygote进程。Zygote启动过程中会AndroidRuntime.cpp中的startVm创建虚拟机,VM创建完成后,紧接着调用startReg完成虚拟机中的JNI方法注册。1.android系统启动时候已经预注册好这种多出现在android自己系统代码里提供的注册方法startRegAndroidRuntime.cppint And

2021-03-15 20:24:53 1246

原创 java中error和exception的区别

Error类和Exception类的父类都是throwable类,他们的区别是:Error类一般是指与虚拟机相关的问题,如系统崩溃,虚拟机错误,内存空间不足,方法调用栈溢等。对于这类错误的导致的应用程序中断,仅靠程序本身无法恢复和预防,遇到这样的错误,建议让程序终止。Exception类表示程序可以处理的异常,可以捕获且可能恢复。遇到这类异常,应该尽可能处理异常,使程序恢复运行,而不应该随意终止异常。Exception类又分为运行时异常(Runtime Exception)和受检查的异常(Checke

2021-03-14 18:26:41 627

原创 Class 对象在执行引擎中的初始化过程

一个 class 文件被加载到内存中需要经过 3 大步:装载、链接、初始化。装载装载是指 Java 虚拟机查找 .class 文件并生成字节流,然后根据字节流创建 java.lang.Class 对象的过程。链接链接过程分为 3 步:验证、准备、解析。验证:初始化这是 class 加载的最后一步,这一阶段是执行类构造器方法的过程,并真正初始化类变量。1.文件格式检验:检验字节流是否符合 class 文件格式的规范,并且能被当前版本的虚拟机处理。2.元数据检验:对字节码描述的信息进行语义分

2021-03-14 16:46:21 211

原创 Android匿名共享内存

ashmem的使用流程如下:1.ashmem_create_region创建匿名共享内存区域,本质是调用open系统调用2.ioctl设置共享内存的名字和大小,设置的名字为/dev/ashmem/,名字的存在就为了能够让其他人找到目标3.mmap映射文件中的虚拟内存以及物理内存4.直接对着这一块地址区域读写。其中ioctl必须设置名字和大小,不然没办法进行映射,因为在映射之前进行了校验。那么ashmem和Binder有什么区别呢?Binder的mmap时候已经通过伙伴系统绑定了物理页和虚拟内存

2021-03-01 18:18:28 985

原创 写给Android开发的Binder指南

为什么选用binder?Linux 已经提供了管道、消息队列、共享内存和 Socket 等 IPC 机制。那为什么 Android 还要提供 Binder 来实现 IPC 呢?主要是基于性能、稳定性和安全性几方面的原因。性能Socket 作为一款通用接口,其传输效率低,开销大,主要用在跨网络的进程间通信和本机上进程间的低速通信。消息队列和管道采用存储-转发方式,即数据先从发送方缓存区拷贝到内核开辟的缓存区中,然后再从内核缓存区拷贝到接收方缓存区,至少有两次拷贝过程。共享内存虽然无需拷贝,但控制复杂

2021-03-01 17:42:41 338 3

原创 https原理

HTTPS 在内容传输的加密上使用的是对称加密,非对称加密只作用在证书验证阶段。HTTPS的整体过程分为证书验证和数据传输阶段,具体的交互过程如下:① 证书验证阶段:1)浏览器发起 HTTPS 请求;2)服务端返回 HTTPS 证书;3)客户端验证证书是否合法,如果不合法则提示告警。② 数据传输阶段:1)当证书验证合法后,在本地生成随机数;2)通过公钥加密随机数,并把加密后的随机数传输到服务端;3)服务端通过私钥对随机数进行解密;4)服务端通过客户端传入的随机数构造对称加密算法,对返回

2021-03-01 15:21:51 152 1

原创 Socket(套接字)

TCP/IP只是一个协议栈,Socket的出现只是可以更方便的使用TCP/IP协议栈而已,其对TCP/IP进行了抽象,形成了几个最基本的函数接口。比如create,listen,accept,connect,read和write等等。所谓长连接,指在一个TCP连接上可以连续发送多个数据包,在TCP连接保持期间,如果没有数据包发送,需要双方发检测包以维持此连接(心跳包),一般需要自己做在线维持。 短连接是指通信双方有数据交互时,就建立一个TCP连接,数据发送完成后,则断开此TCP连接。比如Http的,只是

2021-03-01 14:42:30 566

原创 Java中的各种锁

参考:https://tech.meituan.com/2018/11/15/java-lock.html乐观锁 VS 悲观锁悲观锁认为自己在使用数据的时候一定有别的线程来修改数据,因此在获取数据的时候会先加锁,确保数据不会被别的线程修改。Java中,synchronized关键字和Lock的实现类都是悲观锁。乐观锁认为自己在使用数据时不会有别的线程修改数据,所以不会添加锁,只是在更新数据的时候去判断之前有没有别的线程更新了这个数据。乐观锁在Java中是通过使用无锁编程来实现,最常采用的是CAS算法,

2021-02-28 18:00:06 198

原创 mmap分析

mmap是一种内存映射文件的方法,即将一个文件或者其它对象映射到进程的地址空间,实现文件磁盘地址和进程虚拟地址空间中一段虚拟地址的一一对映关系。实现这样的映射关系后,进程就可以采用指针的方式读写操作这一段内存,而系统会自动回写脏页面到对应的文件磁盘上,即完成了对文件的操作而不必再调用read,write等系统调用函数。相反,内核空间对这段区域的修改也直接反映用户空间,从而可以实现不同进程间的文件共享进程的虚拟地址空间,由多个虚拟内存区域构成。虚拟内存区域是进程的虚拟地址空间中的一个同质区间,即具有同样特

2021-02-28 17:52:28 398

原创 TCP/IP多路复用

所有网络通信的本质目标就是进程间通信。除了寻址(Addressing),IP 协议还有一个非常重要的能力就是路由。寻址告诉我们去往下一个目的地该朝哪个方向走,路由则是根据下一个目的地选择路径。寻址更像在导航,路由更像在操作方向盘。多路复用一台机器上的应用可以有很多。但是实际的出口设备,比如说网卡、网线通常只有一份。因此这里需要用到一个叫作多路复用(Multiplex)的技术。多路复用,就是多个信号,复用一个信道。传输层多路复用多个请求复用一个 TCP 连接。多个请求相当于并行的发送请求。即使其

2021-02-28 17:16:40 5921 1

原创 udp协议:udp和tcp相比快在哪里?

TCP 协议,是一个支持可靠性的协议。UDP 协议,是一个不支持可靠性的协议。校验和(Checksum)最简单的校验和算法:纵向冗余检查UDP 不支持可靠性,但是像校验和(Checksum)这一类最基本的数据校验,它还是支持的。不支持可靠性,并不意味着完全放弃可靠性。TCP 和 UDP 都支持最基本的校验和算法。对于 TCP 和 UDP,都实现了校验和算法,但二者的区别是,TCP 如果发现校验核对不上,也就是数据损坏,会主动丢失这个封包并且重发。而 UDP 什么都不会处理,UDP 把处理的权利交给

2021-02-28 16:54:10 2038

原创 AspectJ与ASM与Javaassist

AspectJ的缺点是,由于其基于规则,所以其切入点相对固定,对于字节码文件的操作自由度以及开发的掌控度就大打折扣。还有就是我们要实现的是对所有方法进行插桩,所以代码注入后的性能也是我们需要关注的一个重要的点,我们希望只插入我们想插入的代码,而AspectJ会额外生成一些包装代码,对性能以及包大小有一定影响。...

2021-02-24 21:32:52 2276

原创 Android面试问题汇总

设计模式相关1.设计模式6大原则1.1单一职责原则:就一个类而言, 应该仅有一个引起它变化的原因。1.2开放封闭原则:类、模块、函数等应该是可以拓展的,但是不可修改。1.3里氏替换原则:所有引用基类的地方必须能透明地使用其子类的对象。核心思想:在使用基类的的地方可以任意使用其子类,能保证子类完美替换基类。1.4依赖倒置原则:高层模块不应该依赖于低层模块,两者都应该依赖于抽象。抽象不应该依赖于细节,细节应该依赖于抽象。问题描述:类A直接依赖类B,假如要将类A改为依赖类C,则必须通过修改类A的代码

2021-02-24 20:21:49 471 2

原创 GC垃圾回收

强引用:代码中普遍存在的,只要强引用还存在,垃圾收集器就不会回收掉被引用的对象。软引用:SoftReference,用来描述还有用但是非必须的对象,当内存不足的时候会回收这类对象。弱引用:WeakReference,用来描述非必须对象,弱引用的对象只能生存到下一次GC发生时,当GC发生时,无论内存是否足够,都会回收该对象。虚引用:PhantomReference,一个对象是否有虚引用的存在,完全不会对其生存时间产生影响,也无法通过虚引用取得一个对象的引用,它存在的唯一目的是在这个对象被回收时可以收到一

2021-02-24 20:09:41 187

基于SpringBoot + MySQL + Redis + RabbitMQ + Guava开发的高并发商品限时秒杀系统

1. 两次MD5加密 将用户输入的密码和固定Salt通过MD5加密生成第一次加密后的密码,再讲该密码和随机生成的Salt通过MD5进行第二次加密,最后将第二次加密后的密码和第一次的固定Salt存数据库 好处: 第一次作用:防止用户明文密码在网络进行传输 第二次作用:防止数据库被盗,避免通过MD5反推出密码,双重保险 2. session共享 验证用户账号密码都正确情况下,通过UUID生成唯一id作为token,再将token作为key、用户信息作为value模拟session存储到redis,同时将token存储到cookie,保存登录状态 好处: 在分布式集群情况下,服务器间需要同步,定时同步各个服务器的session信息,会因为延迟到导致session不一致,使用redis把session数据集中存储起来,解决session不一致问题。 3. JSR303自定义参数验证 使用JSR303自定义校验器,实现对用户账号、密码的验证,使得验证逻辑从业务代码中脱离出来。 4. 全局异常统一处理 通过拦截所有异常,对各种异常进行相应的处理,当遇到异常就逐层上抛,一直抛到最终由一个统

2024-05-27

大麦抢票辅助(只抢待开抢中的)

大麦抢票辅助(只抢待开抢中的) 重要提示:因为该软件原理是抓取页面ui控件id,模拟点击 如果页面渲染太慢,就会抓取失败导致点击超时无效,所以可以手动辅助点击 该软件只能起到辅助效果,帮忙快速点击 推荐:不能稳定打开跳转到抢票页的话,可以开启软件后,手动将大麦挂在抢票页 注意:一定要提前选好场次、价格还有观影人,收藏到想看 操作步骤 先去演唱会主页预选好场次、价格还有观演人,点击想看 (可选)手机后台杀掉大麦app任务 打开辅助app,给于对应权限 (可选)输入歌手名字,默认五月天 点击开抢按钮即可 如果点击开抢后,页面未开始自动跳转,可手动杀死大麦,再次切到辅助app点击开抢 如果想终止辅助app,点击右上角悬浮窗<点击停止>即可

2024-04-27

大麦网演唱会抢票软件,一个基于 tauri + rust + vue 调用接口的抢票软件

一个基于 tauri + rust + vue 构建的抢票软件,全部调用大麦的接口。目前只支持大麦平台(默认)。 1.安装 rust curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh rust 官网 (输入 rustc -V 显示版本号,则表示安装成功) 2.安装 node node 官网 (输入 node -v 显示版本号,则表示安装成功) 3.运行 yarn install 安装依赖 4.运行 yarn tauri dev 启动本地项目(如果windows系统,可能需要准备 tauri 需要的环境),使用编译的app来进行调试。 5.运行 yarn tauri build 打包程序。生成的程序在 src-tauri/target/release 下。

2024-04-21

i茅台预约工具-GitHub Actions版

集成Github Actions 多账号配置 账号有效期管控 手机号加密保存 自动获取app版本 微信消息推送

2024-04-21

某宝、某猫抢购,抢电视、抢茅台

web版使用说明 1、抢购前需要校准本地时间,然后把需要抢购的商品加入购物车 2、如果要打包成可执行文件,可使用pyinstaller自行打包 3、不需要打包的,直接在项目根目录下 执行 python3 main.py 3.1、(可选)需要推送消息提醒(如微信/群机器人/短信),在 https://sre24.com 免费注册得到推送 token,执行 TOKEN=xxx python3 main.py 4、程序运行后,会打开淘宝登陆页,需要自己手动点击切换到扫码登陆

2024-04-21

i茅台app自动预约,每日自动预约,支持docker一键部署

i茅台app,每日自动预约茅台 1. 平台注册账号 2.添加多个用户 3.自动预约 4.类型选择(本市出货量最大的门店,或位置附近门店) 5.自动旅行 6.首次旅行分享 7.获取申购耐力值 8.自定义时间/随机时间预约或旅行 9.申购结果消息推送

2024-04-21

python 12306 购票助手

多日期查询余票 自动打码下单 用户状态恢复 电话语音通知 多账号、多任务、多线程支持 单个任务多站点查询 分布式运行 Docker 支持 动态修改配置文件 邮件通知 Web 管理页面 微信消息通知

2024-04-21

SpringBoot网上商城是一个基于Spring Boot的综合性B2C仿天猫电商平台

一、系统介绍 需求设计主要参考天猫商城的购物流程: 用户从注册开始,到完成登录,浏览商品,加入购物车,进行下单,确认收货,评价等一系列操作。 管理后台包含商品管理,订单管理,类别管理,用户管理和交易额统计等模块。 二、所用技术 后端技术栈: Spring Boot+MySQL+Druid+Log4j2+Maven+mybatis 前端技术栈: JSP+Echarts+Bootstrap 三、环境介绍 基础环境 :IDEA/eclipse, JDK 1.8, Mysql5.7及以上,Maven 源码+数据库脚本

2024-04-20

JAVA+SpringBoot网上商城

一、系统介绍 前台商城系统:包含首页登录、商品分类、新品上线、首页轮播、商品推荐、商品搜索、商品展示、购物车、订单结算、订单流程、个人订单管理、会员中心、帮助中心等模块。 后台管理系统:包含数据面板、轮播图管理、商品管理、订单管理、会员管理、分类管理、设置等模块。 二、所用技术 后台:Springboot + Mybatis + Swagger2 + Maven +mysql 前台:Thymeleaf + Bootstrap + AdminLTE 三、环境介绍 基础环境 :IDEA/eclipse, JDK 1.8, Mysql5.7,Maven 源码+数据库脚本

2024-04-20

Java+SpringBoot网上商城

一、系统介绍 前台功能 商品分类查询,加入购物车,提交订单,查看订单 后台功能: 用户管理,订单管理,分类管理,商品管理 二、所用技术 后端技术栈: springboot jpa mysql 前端技术栈: thymeleaf 三、环境介绍 基础环境 :IDEA/eclipse, JDK 1.8, Mysql5.7及以上,Maven 源码+数据库脚本

2024-04-20

基于Java+Springboot电影购票系统

一、系统介绍 前台 普通用户注册、登录、注销 用户信息修改:邮箱、密码、头像 影片的信息浏览:影片的名称、导演、演员、简介及上映时间等 观影的房间、座位的选择:用户选择观影的影院、房间、座位,用户不能选择已出售的座位 用户的评价:用户登录后可对影片写一些评价 订单信息查询:历史订单信息,包括金额、对应电影票、场次、座位等 后台-管理员登录 对影片的信息进行管理:影片的名称、导演、演员、简介及上映时间等,对影片进行新增、删除、编辑等 对影评信息进行管理:对评语进行修改、删除等。 对所有电影院中影片价格进行修改 对电影放映场次进行管理:增加,修改,下架场次 对影院进行管理:增加修改影院 对用户信息进行查询、修改等管理功能。 对电影票订单信息进行查询和管理 票房统计:票房数据可视化 二、所用技术 后端技术栈: springboot jpa mysql 前端技术栈: freemaker 三、环境介绍 基础环境 :IDEA/eclipse, JDK 1.8, Mysql5.7及以上,Maven 源码+数据库脚本

2024-04-20

基于Java+Springboot的景区旅游信息管理系统

一、系统介绍 本项目分为管理员与普通用户两种角色 用户登录 前台功能:旅游路线、旅游景点、旅游酒店、旅游车票、旅游保险、旅游策略 管理员登录 后台功能:用户管理、旅游路线管理、旅游景点管理、旅游酒店管理、 旅游车票管理、旅游保险管理、旅游策略管理、订单管理管理、留言管理、数据分析等等。 二、所用技术 后端技术栈: springboot mybatis mysql 前端技术栈: html+layui 三、环境介绍 基础环境 :IDEA/eclipse, JDK 1.8, Mysql5.7及以上,Maven 源码+数据库脚本

2024-04-20

基于springboot 网上花店商城 springboot+MybatisPlus+mysql

一、系统介绍 包括管理员、普通用户两种角色,外加游客(未登录情况) 权限 游客 < 普通用户 < 管理员 1、游客功能 查看鲜花信息 2、普通用户功能 购买鲜花、订单管理、地址管理 个人信息修改、密码修改,登录登出 3、管理员功能 用户管理、地址管理、鲜花管理、订单管理 个人信息、密码修改、销量统计 二、所用技术 后端技术栈: springboot mybatis-plus mysql 前端技术栈: jsp bootstrap 三、环境介绍 基础环境 :IDEA/eclipse, JDK 1.8, Mysql5.7及以上,Maven

2024-04-20

java基于springboot的宠物商城 Spring Boot+Mybatis+mysql+Thymeleaf+Shiro

一、系统介绍 未注册用户 非注册用户(即游客身份)进入宠物官网首页,可以浏览关于宠物的宣传以及医院发布的文章,进入宠物商城浏览正在发售的商品,搜索已发布的文章和商品,注册以及登录。 已注册用户 注册用户可以修改个人信息和宠物信息,发布预约单(预约医生和美容师),在医院的商城购物,收藏商品,给官方留言,查看与自己相关的记录信息,如:病例记录、预约记录、问诊记录、订单记录等,注销退出系统。 业务管理员 业务管理员具有进货管理(包括进货入库、退货出库、进货单据查询、退货单据查询以及当前库存查询)、销售管理(包括销售出库、客户退货入库、销售单据查询、退货单据查询)、库存管理(包括商品报损、商品报溢、库存报警、报损报溢记录查询)、查看统计数据(供应商进退货单统计、客户进退货单统计、按日统计销售利润、按月统计销售利润)、供应商管理、客户管理、商品管理、期初库存管理、前台轮播图管理、设备类型管理、设备管理、设备使用管理、设备使用记录管理、文章类型管理、文章管理、客户留言管理、医院用品管理、医院用品出入库管理、医院用品出入库记录管理、客户消息管理、客户订单处理、客户预约单管理、客户问诊记录管理

2024-04-20

基于Java+Springboot+vue的宠物交易/领养系统

一、系统介绍 包括管理员、普通用户两种角色,外加游客(未登录情况) 权限 游客 < 普通用户 < 管理员 1、游客功能 查看宠物信息 2、普通用户功能 出售/领养宠物、购买/收养宠物、订单管理、地址管理 和卖家/卖家对话 个人信息修改、密码修改 3、管理员功能 用户管理、地址管理、宠物管理、订单管理 个人信息、密码修改 二、所用技术 后端技术栈: springboot+mybatis+mysql+java 前端技术栈: vue 三、环境介绍 基础环境 :IDEA/eclipse, JDK 1.8, Mysql5.7及以上,Maven 源码+数据库脚本

2024-04-20

基于springboot房屋租赁系统 springboot+mybatis+mysql+shiro

一、系统介绍 包括管理员、房东、租客三种角色,外加游客(未登录情况) 出租类型包含整租和合租 权限 游客 < 租客 < 房东 < 管理员 1、游客功能 登录、注册(可以注册房东或租客)、搜索房子、查看箱子信息、新闻咨询查询 搜索功能,根据价格范围,面积范围,城市,小区,整租/合租搜索 房子信息,基本信息、轮播图、地图定位 2、租客功能 预定房子(创建订单、签订合同、支付订单) 订单管理(取消订单、查看订单、查看合同、退租) 我的家(查看我的当前有效订单房子信息、查看合租情况) 反馈管理(提交反馈、反馈列表、删除反馈) 收藏管理(收藏房子、收藏列表、取消收藏) 个人信息修改、密码修改、联系房东(自动给房东发邮件) 3、房东功能 房子管理(发布出租/编辑房子信息,发布后需要管理员审核;删除房子;下架房子) 订单管理(订单列表、退租、查看合同) 发布出租(包括标题、描述、价格、各种配套信息、地图位置、轮播图等20多个字段信息) 反馈管理(提交反馈、反馈列表、删除反馈) 个人信息、密码修改 4、管理员功能 用户管理(禁用用户、启用用户)

2024-04-20

基于JAVA+Springboot的OA人事管理系统

一、系统介绍 用户模块 日志模块 考勤模块 工作流模块 请假 岗位 会议申请 菜单 定时任务月末统计考勤状况 等功能 管理员输入登录账号和密码,登录成功后,可以进行自身信息的修改,还有员工管理、部门管理、角色管理、菜单管理、岗位管理、公告管理、个人便签、通讯录、签到签退、个人信息管理、会议室管理、会议管理等功能。 员工输入登录账号和密码,登录成功之后,可以对个人信息修改,进行每天上班的签到签退,个人便签管理,也可以查询公司的通讯录可以方便联系到公司所有人。 二、所用技术 springboot+mybatis+ shiro +mvc + activiti+thymeleaf+quartz 三、环境介绍 基础环境 :IDEA/eclipse, JDK 1.8, Mysql5.7及以上,Maven 源码+数据库脚本 所有项目以及源代码本人均调试运行无问题 可支持远程调试运行

2024-04-20

基于Vue和SpringBoot的超市账单管理

一、系统介绍 管理员: 系统基础管理:对登入用户、部门、角色、权限进行维护。 商品管理:对超市所出售的商品档案进行维护。 供应商管理:对超市所合作的供应商档案进行维护。 账单管理:对超市所管理的账单档案进行维护。 职员:商品管理、账单管理 经理:商品管理、账单管理、供应商管理 二、所用技术 后端技术栈: springboot mybatisPlus SpringSecurity mysql Java 前端技术栈: vue View UI 三、环境介绍 基础环境 :IDEA/eclipse, maven3.x, JDK 1.8 , Mysql, node.js 源码+数据库脚本

2024-04-20

基于Java+Springboot的酒店预订管理系统

一、系统介绍 本项目分为管理员与普通用户两种角色 管理员角色包含以下功能: 超级管理员拥有所有权限 后台功能: 工作人员管理、角色管理、应用管理、 日志管理、客户管理、留言管理、 房型管理、房间管理、预约订单管理、 入住管理、统计分析管理 用户角色包含以下功能: 客户登录、找回密码 留言板留言 浏览客房和预定客房 二、所用技术 前端技术栈 jsp、layer、easyui 后端技术栈 springboot,java,mysql,mybatis 三、环境介绍 基础环境 :IDEA/eclipse, JDK 1.8, Mysql5.7及以上,,Maven 所有项目以及源代码本人均调试运行无问题 可支持远程调试运行

2024-04-20

机器学习面试复习资源集合

一、特征工程 (一)特征预处理 标准化、归一化、异常特征清洗、不平衡数据 不平衡数据的处理方法 (二)特征表达 缺失值、特殊特征(eg.时间)、离散特征、连续特征 连续特征离散化的好处 什么样的模型对缺失值更敏感? (三)特征选择 过滤法、包装法、嵌入法 Kaggle中的代码实战 二、算法基础 (一)评价指标 PR曲线和F1 & ROC曲线和AUC AUC & GAUC (二)正则项 正则化与数据先验分布的关系 L1在0点处不可导怎么办?可采用坐标轴下降、最小角回归法 L1为什么比L2的解更稀疏 (三)损失函数 常见损失函数 常见损失函数2 (四)模型训练 经验误差与泛化误差、偏差与方差、欠拟合与过拟合、交叉验证 参数初始化为什么不能全零 深度学习参数初始化 Lecunn、Xavier、He初始化 dropout Batch Normalization dropout和BN在训练&预测时有什么不同 Layer Normalization Transformer为什么用LN不用BN(LN和BN两者分别关注什么) ResNet (五)优化算法 梯度下降法、牛顿法和拟牛顿法 深度学习优化算法

2024-04-20

Tensorflow实战学习笔记、代码、机器学习进阶系列

Tensorflow实战学习笔记 机器学习进阶系列 tensorflow实战代码 人脸检测系列 tensorflow api解读 机器学习实战代码注释 tensorflow2_tutorials_chinese

2024-04-20

算法工程师-机器学习面试题总结

基本概念 1-1 简述解决一个机器学习问题时,你的流程是怎样的? 1-2 损失函数是什么,如何定义合理的损失函数? 1-3 回归模型和分类模型常用损失函数有哪些?各有什么优缺点 1-4 什么是结构误差和经验误差?训练模型的时候如何判断已经达到最优? 1-5 模型的“泛化”能力是指?如何提升模型泛化能力? 1-6 如何选择合适的模型评估指标?AUC、精准度、召回率、F1值都是什么?如何计算?有什么优缺点? 1-7 什么是混淆矩阵? 1-8 ROC曲线如何绘制?相比P-R曲线有什么特点? 1-9 如何评判模型是过拟合还是欠拟合?遇到过拟合或欠拟合时,你是如何解决? 1-10 你是如何针对应用场景选择合适的模型? 1-11 如何选择模型中的超参数?有什么方法,并说说其优劣点 1-12 误差分析是什么?你是如何进行误差分析? 1-13 你是如何理解模型的偏差和方差?什么样的情况是高偏差,什么情况是高方差? 1-14 出现高偏差或者高方差的时候你有什么优化策略? 1-15 奥卡姆剃刀定律是什么?对机器学习模型优化有何启发?举例说明

2024-04-20

吴恩达机器学习课程的讲义

吴恩达机器学习课程的讲义

2024-04-20

使用机器学习算法完成对12306验证码的自动识别

使用机器学习算法完成对12306验证码的自动识别 两个必要的数据集: 文字识别,model.h5 图片识别,12306.image.model.h5

2024-04-20

PTA 天梯赛习题思路和题解

PTA 天梯赛习题思路和题解

2024-04-20

PAT-GPLT(中国高校计算机大赛团体程序设计天梯赛)题解

环境 开发语言:C (c99标准) 编译环境:gcc 4.7.2 相关参数:-DONLINE_JUDGE -fno-tree-ch -O2 -Wall -std=c99 -pipe $src -lm -o $exe

2024-04-20

2021年华为杯第十八届中国研究生数学建模竞赛D题解决方案(国二)

问题分析 第一问采用随机森林+相关性分析筛选20个变量 第二问采用决策树回归、线性回归、梯度提升向量机、随机 森林回归、多层次感知机回归、XGBoost 回归和LightGBM 模型对生物活性预测。最终得出LightGBM 模型的效果比较好 第三问采用多层感知机(MLP)对化合物的 ADMET 性质进行预测。训练集采用90%的样本,测试集采用10%的样本。五种性质的平均准确率为90.5% 第四问采用改进型贪心调优

2024-04-20

第十届大唐杯真题及答案

第十届大唐杯真题及答案

2024-04-20

2020中国华录杯·数据湖算法大赛-定向算法赛(吸烟打电话检测)决赛第二名项目代码

一、算法简介 数据处理时,观察很多手机拍摄高清图片分辨率很大,因为我机器不大好,IO比较耗时,为了加速训练,先预先等比缩放保存好; 然后合并初赛的数据,进行一个清洗、去重; 最后通过定制化的CutMix进行数据预增强,先生成好部分图片。 主要训练方式基础模型是EfficientNet-B4,使用了对抗学习的预训练模型,使用了Ranger优化器,使用了SGDR的学习率衰减策略,然后通过监测验证集的mAP分数来选择最好的模型,使用early stop停止训练。在训练时还加入了梯度截断等策略。 最后使用了模型自蒸馏的训练方案。具体训练过程是,第一步先把训练集随机划分为5折,分别训练5个模型,然后生成对应的训练集预测标签;第二步重新训练5折模型,此时训练集所使用的标签为原始标签和蒸馏标签的加权和,分别训练5个模型。最后尝试不同的模型组合,选择A榜最高的作为最终提交方案。 二、数据处理 使用了初赛发布的两批数据混合在一起,没有使用外部数据。 训练数据处理过程: 先按最大边等比缩放到600尺寸;(参考脚本data/resize.py)

2024-04-19

12306抢票脚本源码

12306抢票软件源码 下载源码运行请注意下面几条: 1.此项目用到了selenium库,浏览器是chrome 2.将driverchrome放到main同级目录下。 3.进入setting.py文件配置一下chrome.exe的路径。注意driverchrome与chrome的版本要一致!!! 4.请确保安装了PyQt5库。 5.run文件是ESTrain.py

2024-04-17

大麦网自动购票脚本, 支持docker一键部署

使用说明 下载docker-compose配置文件: wget https://github.com/ClassmateLin/dm-ticket/releases/download/v0.1.0/dm-ticket.zip 解压zip: unzip dm-ticket.zip && cd dm-ticket 运行容器: docker-compose up -d 修改配置: vim config/config.yaml, 配置项在config/config.yaml中有详细注释 编写本项目主要目的为学习和研究Rust,无法保证项目内容的合法性、准确性、完整性和有效性。 本项目涉及的数据由使用的个人或组织自行填写,本项目不对数据内容负责,包括但不限于数据的真实性、准确性、合法性。使用本项目所造成的一切后果,与本项目的所有贡献者无关,由使用的个人或组织完全承担。 本项目中涉及的第三方硬件、软件等,与本项目没有任何直接或间接的关系。本项目仅对部署和使用过程进行客观描述,不代表支持使用任何第三方硬件、软件。使用任何第三方硬件、软件,所造成的一切后果由使用的个人或组织承担,与本项目无关。

2024-04-17

数据库设计课程设计-高校选课管理系统

开发意义: 随着信息技术不断向深入发展,越来越多的学校开始着手信息化建设。其中学生选课、成绩信息化管理就是其中重要的一块内容。学生选课与成绩信息规模大、项目条数多、信息量庞大,传统的人工管理方式显然已经无法满足要求,需要借助计算机来进行现代化信息管理,从而提高管理的准确性与高效性。 可行性: 传统人工管理成绩存在诸多弊病,比如准确性低、效率低等。计算机具有存储快、查找便利、准确性高的特点,能非常好的解决人工管理的弊病。 应用环境: Web服务器:tomcat8.5; 编程工具Eclipse Java 2019-09; 数据库:SQL sever 2017; 技术路线: jsp+servlet+javabean; 系统功能框架介绍,处理模块描述。 管理员: 1.查询教师名单; 2.添加教师信息; 3.修改教师信息; 4.删除教师信息; 5.查询学生名单; 6.添加学生信息; 7.修改学生信息; 8.删除学生信息; 9.查询课程信息;

2024-04-16

大麦抢票脚本 V1.0 已有大佬验证可以成功!

功能介绍 通过selenium打开页面进行登录,模拟用户购票流程自动购票 1. 配置环境 1.1安装python3环境 Windows 访问Python官方网站:https://www.python.org/downloads/windows/ 下载最新的Python 3.9+版本的安装程序。 运行安装程序。 在安装程序中,确保勾选 "Add Python X.X to PATH" 选项,这将自动将Python添加到系统环境变量中,方便在命令行中使用Python。 完成安装后,你可以在命令提示符或PowerShell中输入 python3 来启动Python解释器。

2024-04-13

东方财富网股吧爬虫,爬取帖子及其评论的相关信息,并储存到数据库中(附详细操作说明)

该项目使用 selenium 模拟用户操作抓取股吧 发帖 和 评论 数据(允许多线程同时抓取多支股票的相关信息),并将抓取到的数据储存到 MongoDB 中,方便后续使用。 附加说明:非科班新手第一次写爬虫,代码效率一般(比如未使用 redis 做消息队列等等),适合新手入门或小规模爬取。以后若有能力与时间会对代码进行迭代维护,提高爬取效率。 主要功能 爬取指定股票股吧中的发帖信息,包括帖子标题,浏览量,评论数,帖子链接,发帖时间 (YYYY-MM-DD, HH: MM),以 post_XXXXXX 为集合名储存到 MongoDB 中。 爬取指定时间范围中股吧帖子下的评论信息,包括评论内容,是一级或二级评论,点赞数,发帖时间 (YYYY-MM-DD, HH: MM),以 comment_XXXXXX 为集合名储存到 MongoDB 中。 可以通过 post_XXXXXX 下的 _id 与 comment_XXXXXX 下的 post_id 建立映射关系,对帖子标题和评论内容进行匹配。

2024-04-13

某乎爬虫,用于爬取某乎页面 话题 问题 回答 评论 的爬虫 支持 asyncio 异步高并发 支持多用户登陆

某乎爬虫,用于爬取某乎页面 话题 问题 回答 评论 的爬虫 支持 asyncio 异步高并发 支持多用户登陆

2024-04-13

掘金小册爬虫脚本 将小册保存为 markdown,pdf,html 格式

本项目案例使用爬虫爬取的为公开的掘金小册。可在掘金小册/阅读 中查看。本项目仅供学习交流使用,请勿将个人付费小册公开。若公开由此造成的一切后果,与本项目无关。

2024-04-13

轻量型A股每日数据爬虫项目

核心逻辑1:通过财经网址获取全部股票的动态数据,并且经过分析,将日涨,日跌超过x%的股票进行筛选,按照股票的涨跌幅进行排序;通过对股票的大额买入卖出订单进行排序,并预测前10位买入卖出的之后的大概股价,并对买入卖出进行排序;并存储到数据库(DB:Mysql,需要跟进) 核心逻辑2:对保留到数据库的数据按照5日,20日进行分析排序,筛选出5,20日上涨,下降的前x位的股票,进行排序,并存储到数据库(DB:Mysql) 核心逻辑3:做T,通过股票的涨跌幅,对股票进行T操作 (此为量化核心逻辑) 使用技术指标建模交易信号。比如利用布林通道、均线交叉等技术分析指标,建立买入和卖出规则。 加入风险管理作为交易决策依据。比如设置止损价格和动态调整仓位,降低单日风险。 采用复合指标相结合,避免单一依赖某一指标。比如结合MACD、KDJ等多 time frame 的指标信号。 进行回测优化,找出参数组合效果好的交易策略。优化周期、触发点设定等策略变量。 采用平滑移动平均线,避免被短期波动误导。比如用EMA作为买入信号。 重点跟踪行业领跑股票,利用行业势头。同时观察大盘走势变化。

2024-04-13

新浪某博热榜爬虫,利用 Github Action 的调度脚本

使用PHP实现的,爬取新浪某博每日热榜内容,以下是今日热榜 更新于 2024-04-13 20:50:32 Thurman猫一杯视频号被封 1.7M 车辆发生剐蹭女子叫嚣自己老公是国足 1.4M 在高原感受别样的春日浪漫 1.2M 保时捷撞车后女子砸门被行政拘留 1.1M 郑合惠子 垃圾堆里扒好东西 924.0K 张一山银发 892.0K 金秀贤金智媛不再合体 640.4K 伊朗对美国发出警告 509.0K 眼泪女王 482.6K 男子养了20年的海龟竟是国保玳瑁 480.9K 赵丽颖说谢谢狗哥 480.3K 伊朗扣押一艘和以色列相关货船 479.3K 绝大部分人感染HPV后会自愈 470.8K RNG直播需付费观看 446.3K 成龙为刘浩存提裙摆 440.8K 承欢记 404.6K

2024-04-13

矩阵快速幂求解斐波那契

二. 矩阵相乘 若A为n×k矩阵,B为k×m矩阵,则它们的乘积AB(有时记做A·B)将是一个n×m矩阵。其乘积矩阵AB的第i行第j列的元素为: image 代码如下: ###### 矩阵乘法 ###### def mutiply(self,a,b): temp=[[0,0],[0,0]] for i in range(len(a)): for j in range(len(b)): for k in range(len(temp)): temp[i][j]+=a[i][k]*b[k][j]%1000000007 return temp 三. 矩阵快速幂 幂又称乘方。表示一个数字乘若干次的形式,如n个a相乘的幂为a^n ,或称a^n为a的n次幂。a称为幂的底数,n称为幂的指数。 快速幂的思路就是:设A为矩阵,求A的N次方,N很大。例如:A的9次方 A^9 = A*A*A*A*A*A*A*A*A 【一个一

2024-04-13

走迷宫 广度优先搜索与优先队列

2.0版本 迷宫按以下格式输入:第一行输入m与n 表示迷宫行数列数。随后输入m行字符 由# . r a x组成 表示墙壁 地面 地面(起点) 地面(终点) 可破坏的墙壁 迷宫中含有可破坏的墙壁 破坏墙壁可以多罚n步 可以有多个起点 会算出最短的路径 无解的迷宫会打印一个最长的路径 采用优先队列 由队列链表实现 1.0版本 解决简单的迷宫 从控制台输入格式:第一行输入m与n 表示迷宫行数列数。随后输入m行字符 由# . r a组成 表示墙壁 地面 地面(起点) 地面(终点) 输出0 表示无法解出 若能解出 会随后输出路径 采用简单的队列

2024-04-13

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除