算法 模式 代码 方式
算法题 1 【找到数组的中间位置】
题目: 给你一个下标从 0 开始的整数数组 nums ,请你找到 最左边 的中间位置 middleIndex (也就是所有可能中间位置下标最小的一个)。 中间位置 middleIndex 是满足 nums[0] + nums[1] + ... + nums[middleIndex-1] == num ......
设计模式—行为型模式之模板方法模式
设计模式—行为型模式之模板方法模式 在模板模式(Template Pattern)中,一个抽象类公开定义了执行它的方法的方式模板。它的子类可以按需要重写方法实现,但调用将以抽象类中定义的方式进行。 模板方法(Template Method)包含两个角色: 抽象类/抽象模板(Abstract Clas ......
《算法竞赛入门经典(第二版)》学习笔记
算法竞赛入门经典(第二版)学习笔记 本文是《算法竞赛入门经典(第二版)》这本书中的学习总结,如有不足欢迎提出宝贵意见。 第一章 程序设计入门 1.1 算数表达式 实验1 ~ 4 int main(){ printf("%d\n", 3 - 4); // 实验1 printf("%d\n", 5 * ......
设计模式-状态模式
状态模式的使用 代码中包含大量与对象状态有关的条件语句。 方法 将各种具体的状态类抽象出来。 优点 结构清晰,避免了过多的switch…case或if…else语句的使用。 很好的体现了开闭原则和单一职责原则,想要增加状态就增加子类,想要修改状态就修改子类即可。 封装性非常好,状态变化放置到了类的内 ......
设计模式-单例
单例模式 优点:系统内存中该类只存在一个对象,节省了系统资源,对于一些需要频繁创建销毁的对象,使用单例模式可以提高系统性能。 缺点:当想实例化一个单例类的时候,必须要记住使用相应的获取对象的方法(getInstance()等),而不是使用new,可能会给其他开发人员造成困扰,特别是看不到源码的时候。 ......
国内的开源AI模型共享网站(AI模型的GitHub)—— mindscope —— 使用git lfs方式下载模型文件基本不可行——速度太慢,几十KB/s的速度
参考前文: 国内的开源AI模型共享网站(AI模型的GitHub)—— mindscope —— 对标外网的“huggingface”,mindscope好用吗? ......
ZooKeeper 3.9.1 集群模式安装
准备三台集群节点 1.下载ZooKeeper 3.9.1 https://dlcdn.apache.org/zookeeper/zookeeper-3.9.1/apache-zookeeper-3.9.1-bin.tar.gz 2.安装JDK Linux 安装Openjdk 3.解压 mkdir / ......
day06 代码随想录算法训练营 242. 有效的字母异位词
题目:242. 有效的字母异位词 我的感悟: 卡尔的思路,挺好。简单易懂。 理解难点: 没有难点 总结概况: 建立数组存 遍历一遍 ++ 遍历一遍 -- 再遍历一遍 判断0 代码示例: class Solution: def isAnagram(self, s: str, t: str) -> bo ......
day04 代码随想录算法训练营 24. 两两交换链表中的节点
题目:24. 两两交换链表中的节点 我的感悟: 我感觉,python中对链表的概念,很弱。 链表在现在语言中,用的不多。 先搁置。 理解难点: 可以看懂代码。 总结概括: 代码示例: # Definition for singly-linked list. # class ListNode: # d ......
代码随想录算法训练营第二十天|654.最大二叉树,617.合并二叉树,700.二叉搜索树中的搜索,98.验证二叉搜索树
一、654.最大二叉树 题目链接: LeetCode 654.最大二叉树 学习: 思路: 前序遍历 方法参数:(int[] nums, int start, int end) 返回类型:TreeNode 终止条件: if(end-start==0) return null; if(end-start ......
论文精读—多智能体算法在无人机集群的运用
导:“在阅读一篇论文后,要对这几个方面有清晰的认识,动机、创新点和实验设计,外加自己对这篇论文有什么想法” 论文解读:本文组织如下:第二节介绍了相关工作,第三节介绍了大规模搜索场景和系统模型,第四节详细介绍了基于marl的无人机群搜索方法,第五节讨论了仿真设置和实验结果,第六节总结了本文。 建模思考 ......
低代码如何实现插件化架构?
大家好,本文介绍了实现插件化的低代码架构的思路,以及在Meta3D(开源Web3D低代码平台)中具体实现的方案 需求 有同学想做个编辑器,希望可以随意替换引擎、编辑器UI,能以插件的形式进行扩展,问该如何实现? 下面,我们首先给出抽象的解决方案: 抽象的解决方案 如上图所示,编辑器由多个积木组成,其 ......
day03 代码随想录算法训练营 206. 反转链表
题目:206. 反转链表 我的感悟: 理解cur是什么? 相信自己!! 代码难点: cur = head 可以省略不 每一个步骤里的cur是什么 代码示例: # Definition for singly-linked list. # class ListNode: # def __init__(s ......
Spring MVC中Controller接收请求参数的常见方式
在Spring中 Controller注解用于指示Spring类的实例是一个控制器,相对于实现Controller接口变得更加简单。而且实现Controller接口只能处理一个单一的请求,而是用@Controller注解可以支持同时处理多个请求动作,更加灵活。 @Controller用于标记一个类, ......
代码随想录 day06 有效的字母异位词 返回数组的交集 找快乐数 两数之和
有效的字母异位词: 思路比较简单 由于范围比较小 只有小写字母为范围 利用26大小的数组 遍历字符串 第一个串在对应下标++ 第二个++ 然后数据存在不为零就是不一样的 不存在则时字母异位词 返回数组的交集 由于要返回的是交集 就是查找两个集合出现的元素 想到要使用hash map 具体的数据结构而 ......
【C# 技术】C# 常用排序方式
在最近的项目中经常会对C#中的数据进行排序,对于基本数据类型,其排序方式比较简单,只需要调用内置算法即可实现,但对于``自定义数据类型``以及``自定义排序规则``的情况实现起来就比较麻烦,所以在本文章中将详细介绍一下在中C#中如何对数据进行排序。 ......
Box2dLite中的分离轴算法(SAT)理解
以下图的两个Box为例 1) 先是分别以Box_A和Box_B的模型空间坐标轴为分离轴,求出在轴上的投影重叠长度,判断是否相交。 Collide.cpp的Collide函数 // Setup Vec2 hA = 0.5f * bodyA->width; Vec2 hB = 0.5f * bodyB- ......
uni app 上拉加载下拉刷新代码
uni app 上拉加载下拉刷新代码 先记下来,以后备用 <template> <view class="app"> <u-row> <u-col span="4"> <!-- <mix-list-cell :title="category.caname" @onClick="show=true"> ......
Bellman-Ford算法实现带有负权边的单源最短路
Bellman-Ford算法 对于Dijkstra算法,不妨给出这样一个例子 graph LR A((A)) -->|1| C((C)) A -->|2|D((D)) D -->|-4| C 根据Dijkstra算法的流程,选取A为源点。更新与A邻接的顶点,有C和D。选取已更新顶点中距离A的最小值, ......
js设计模式之单例模式二
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>登录</title></head><body><button id="login">登录</button><script> class Login { create ......
文心一言 VS 讯飞星火 VS chatgpt (169)-- 算法导论13.2 2题
二、用go语言,证明:在任何一棵有 n 个结点的二叉搜索树中,恰有 n-1种可能的旋转。 文心一言: 要证明在任何一棵有 n 个结点的二叉搜索树中,恰有 n-1 种可能的旋转,我们可以按照以下步骤逐步推导: 二叉搜索树的性质:在二叉搜索树中,任意一个结点的左子树上的所有结点值都小于该结点值,而右子树 ......
django 设置时间字段动态设置默认值的方式:
参考https://blog.csdn.net/kuanggudejimo/article/details/99291026 django设置字段动态默认时间的四种方式: from django.db import models from datetime import datetime class ......
使用 callgrind 在 Linux 进行局部代码性能分析
VS 的性能剖析器可以很方便在选定的代码之间(用断点或者别的什么控制)进行性能剖析,这个功能在大型项目里是十分重要的。linux 有比 win 下更强的,更深入的性能剖析器,但是很遗憾,pref 之类的这些剖析器都是输出整个程序运行的信息的,反而会让你找不到需要关键信息。 找了很久,最后在 Visu ......
代码随想录算法训练营第14天 | lc104、lc111、lc222
(本合集全部为Go语言实现) 相关文章链接:104题解 111题解 222题解 相关视频链接: Leetcode104 状态:这种简便的写法一开始忘了,看了题解才想到 实现过程中的难点:需要首先明确最终答案的得出是模拟了那种遍历方式 个人写法 func maxDepth(root *TreeNode ......
代码随想录算法训练营第13天 | 树的层序遍历、lc226、lc101
(本合集全部为Go语言实现) 相关文章链接:层序遍历题解 226题解 101题解 相关视频链接: Leetcode102 状态:迭代写法秒了,递归写法确实吗,没太能想到 实现过程中的难点:递归写法中,思想要转变。迭代写法是真正的按层遍历,递归写法是以类似深度优先的方式将遍历结果放到不同的层级的集合当 ......
代码随想录 小结02 链表
第一题 移除链表元素 这题比较简单 使用dummyHead的方式会比较简单 不需要对头指针进行单独处理 但是空间开销会大一些 第二题 设计链表类 这个没什么好说的 感觉有可能一些细节会忘记 需要经常复习的一块 第三题 反转链表 这题难度不大 用一个tmp指针存储一下当前指针的next 然后直接反转就 ......
js设计模式之单例模式
//字面量const logi = { name: "贾维斯", password: '123456', method: function () { }}/** * 闭包: * 1. 闭包是指有权访问另一个函数作用域中的变量的函数 * 2. 创建闭包的常见方式,就是在一个函数内创建另一个函数,通过另 ......
代码随想录算法训练营第十八天 | 513.找树左下角的值,112. 路径总和,113.路径总和ii,106.从中序与后序遍历序列构造二叉树,105.从前序与中序遍历序列构造二叉树
一、513.找树左下角的值 题目链接: LeetCode 513.找树左下角的值 学习前: 思路: 层序遍历。采用递归和迭代两种方式 递归:定义最大深度和目标值两个成员变量,方法参数是结点和当前结点的深度;返回类型为void;终止条件为结点为空;单次循环内容为判断该节点是否符合目标要求,且分别传入左 ......
Python 金融:算法交易 (1)基础入门
本文翻译自2018年最热门的Python金融教程 Python For Finance: Algorithmic Trading。 这篇 Python 金融教程向您介绍算法交易等内容。 技术已成为金融领域的一项资产:金融机构已不仅仅是单纯的金融机构了,它正向着技术公司演进。除了技术带来的创新速度和竞 ......