算法leetcode基础day6

机器学习算法原理实现——cart决策树

cart决策树示例: 本文目标,仿照sklearn写一个cart树,但是仅仅使用max_depth作为剪枝依据。 我们本次实现cart分类,因此用到gini指数: 为了帮助理解: 好了,理解了基尼指数。我们看下cart树的构建步骤: 注意还有几个细节: cart树每个treenode存储了哪些数据? ......
算法 原理 机器 cart

粒子群优化算法

写在前面 在大大的花园里面挖呀挖呀挖,挖大大的坑呀寻大大的WA。 官方解释 利用群体中的个体对信息的共享使整个群体的运动在问题求解空间中产生从无序到有序的演化过程。(这个解释不美丽.......) 诡异的故事法解释 那是一个暴风雨之夜,伴随着一声巨响,空气开始震动,狂风忽然吹向东方,比先前任何一场气 ......
粒子 算法

Java基础学习——字符串

目录 1 String 概述 2 String构造方法代码实现和内存分析 2.1 创建方式 2.2 内存区 1. StringTable(串池) 2. 直接赋值创建字符串 方式 内存图 3. 通过new创建字符串 方式 内存图 3 字符串比较 3.1 “==”号比较的内容 1 String 概述 总 ......
字符串 字符 基础 Java

Leetcode刷题本地debug框架搭建

思路 1. 初版 cmake + 单一.cpp文件 参考:https://blog.songjiahao.com/archives/362 2. 改良版 cmake + 源文件、头文件(含List、Tree等数据结构)分离 + gtest 参考:https://github.com/Pokerpok ......
框架 Leetcode debug

GateWay工作流程+GateWay基础搭建

GateWay工作流程+GateWay基础搭建 核心流程图如下: 核心概念: 客户端向 Spring Cloud Gateway 发出请求。如果Gateway Handler Mapping确定请求与路由匹配,则将其发送到Gateway Web Handler 处理程序。此处理程序通过特定于请求的F ......
GateWay 工作流程 流程 基础

5 排序算法总结

5 排序算法总结 首先总结表如下: 排序方法 平均时间复杂度 最好情况 最坏情况 空间复杂度 是否稳定 排序方式 冒泡排序 \(O(n^2)\) \(O(n)\) \(O(n^2)\) \(O(1)\) 稳定 内部排序 选择排序 \(O(n^2)\) \(O(n^2)\) \(O(n^2)\) \( ......
算法

2023“钉耙编程”中国大学生算法设计超级联赛(5)

1001 Typhoon 题意: 给你台风的轨迹坐标以及避难所的坐标,台风的半径不可预测,求让每个避难所不安全的最小台风半径是多少。 分析: 枚举每个点到所有“线段”的距离取个min。 代码: 附上队友的代码(懒): #include <bits/stdc++.h> #include <math.h ......
钉耙 算法 联赛 大学生 大学

基础开发环境搭建

操作系统:CentOS 7.6 64位 运行内存:8G 存储空间:200G 安装gcc和g++ yum install -y centos-release-scl-rh yum install -y centos-release-scl # 安装gcc7 yum install devtoolset ......
环境 基础

C#开发的基础工具类集合 - 开源研究系列文章

今天发布一个基础工具类代码集合。 以前有发布过一个类似的类库(见博文: Magical平台类库代码分享 ),不过那个版本有点久了,也没有这次这个全面,这次发布的是一个很多地方用到的基础类库代码。 1、 项目目录; 项目底下就是DLL类库的代码: 2、 函数介绍; 举例一个类库代码: 3、 运行界面; ......
基础 工具 文章

LeetCode刷题笔记

算法 1.差分数组+前缀和 1589. 所有排列中的最大和 - 力扣(LeetCode) 对于每一次遍历都有m个数需要加1,如果对这些数遍历,则需要O(m)复杂度,此时可以记录这m个数的差分数组: ​ 这样就可以把时间复杂度缩小到O(1),之后求前缀和就可以得到原来的数组。 2.线性筛(欧拉筛)求素 ......
LeetCode 笔记

SpringMvc基础知识

SpringMvc基础知识 1、MVC基本概念 MVC(Model View Controller)是一种软件设计的框架模式,它采用模型(Model)-视图(View)-控制(controller)的方法把业务逻辑、数据与界面显示分离。把众多的业务逻辑聚集到一个部件里面,当然这种比较官方的解释是不能 ......
基础知识 SpringMvc 基础 知识

Spring框架基础知识

Spring框架基础知识 1、简介 1、Spring框架是一个开源的JAVAEE的应用程序,主要是IOC(控制反转和依赖注入)和AOP(面向切面编程)两大技术。 2、Spring IOC(控制反转/依赖注入) Spring AOP SpringJDBC+事务 3、Spring 是众多开源java项目 ......
基础知识 框架 基础 知识 Spring

机器学习算法原理实现——决策树里根据信息增益选择特征

先说熵的定义: 再看信息增益 信息增益是一种用于特征选择的指标,用于衡量特征对于数据集分类的贡献程度。它基于信息熵的概念,通过比较特征划分前后的信息熵差异来评估特征的重要性。信息熵是衡量数据集纯度的指标,表示数据集中的不确定性或混乱程度。信息熵越高,数据集的不确定性越大。 上述例子计算错误,gpt识 ......
算法 特征 原理 机器 信息

redis基础

nosql sql sql 结构化 事务特性(事务是回顾和并发控制的基本单位 四个特征: 原子性 一致性 隔离性 和持久性 简称 ACID) ACID nosql 非结构化 key-value键值对型 redis Document 文档型 MongoDB Graph 图类型 neo4j 列类型 HB ......
基础 redis

代码随想录算法训练营第四天| 24. 两两交换链表中的节点, 19.删除链表的倒数第N个结点,面试题02.07.链表相交,142.环形链表Ⅱ

24. 两两交换链表中的节点 mydemo(超时) /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode() : val(0), next(nullpt ......
随想录 结点 环形 训练营 节点

《算法图解》的读书体会

最近工作有点内耗严重,经常头痛,静下心来读一本书架里的书,好久没有练算法了,程序员算法还是不能丢,在这里分享读书体会。有时候看一本书并不一定是抱着学习的心思去读,那样太累,学习太枯燥了,抱着玩的心态去读,更能让我读下去。如果遇到问题,绕开它,我们不一定要解决问题,逃避问题也是处理问题的一种方式。 下 ......
算法

LeetCode279:完全平方数,动态规划解法超过46%,作弊解法却超过97%

欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 本篇概览 本篇概览 这是道高频面试题,值得一看 首先,这道题的难度是中等 来看题目描述: 给你一个整数 n ,返回 和为 n 的完全平方数的最少数量 。 ......
解法 LeetCode 动态 279 46%

机器学习算法原理实现——k近邻算法 KNN

K近邻算法是一种基于距离度量的数据分类模型,其基本做法是首先确定输入实例的[插图]个最近邻实例,然后利用这[插图]个训练实例的多数所属的类别来预测新的输入实例所属类别。 k最近邻(k-nearest neighbors,KNN)算法是一种基本的分类和回归算法。其基本原理如下:1. 训练阶段:将训练样 ......
算法 近邻 原理 机器 KNN

【Python基础】字符串常用方法

replace()方法 replace() 方法把字符串中的 old(旧字符串) 替换成 new(新字符串),如果指定第三个参数max,则替换不超过 max 次。 str = "This is A Test" print(str.replace("is", "was")) # Thwas was A ......
字符串 字符 常用 基础 方法

【Python基础】基础数据类型

数字类型 int类型(整型) 在Python 3里,只有一种整数类型 int,表示为长整型,没有 python2 中的 Long。像大多数语言一样,数值类型的赋值和计算都是很直观的。 a= 12 print(type(12)) <class 'int'> 还可以用用 isinstance 来判断类型 ......
基础 类型 数据 Python

算法训练day4: LeetCode 24

算法训练day4: LeetCode 24.19.142.面试题07.02 24.两两交换链表中的结点 题目 题目24. 两两交换链表中的节点 - 力扣(LeetCode) 题解 讲解代码随想录 (programmercarl.com) 第一想法:模拟的方法,使用三个指针,将结点两两交换。 clas ......
算法 LeetCode day4 day 24

分治算法

分治算法是一种解决问题的策略,将一个规模为N的问题分解为K个规模较小的子问题,这些子问题相互独立且与原问题性质相同。然后,求解这些子问题,再合并这些子问题的解以得到原问题的解。例如,二分法就是一种简单的分治算法。 以下是一个简单的分治算法Java实现示例,该示例使用分治算法计算数组中的最大和最小元素 ......
算法

手写RISC-V处理器--基础篇之指令集

RISC-V(发音为"risk-five")是一个基于开放标准的指令集架构(ISA),其设计目的是提供一个开放、灵活和可扩展的计算机体系结构,可以用于各种用途,从嵌入式系统到超级计算机。RISC-V定义了一系列不同类型的指令格式,以支持各种计算机操作和数据处理任务。 指令格式类型 R-Type(寄存 ......
指令 处理器 基础 RISC-V RISC

代码随想录算法训练营第三天

代码随想录算法训练营第三天 | LeetCode 203(移除链表元素) LeetCode 707(设计链表) LeetCode 206(反转链表) 203:移除链表元素 LeetCode 203(移除链表元素) 思路 遍历链表 等值删除 双指针 方法一:虚拟头节点 方法二:直接在原链表删除 方法一 ......
随想录 训练营 随想 算法 代码

Hadoop基础学习1(SSHfinalshell、vim、别名、hadoop集群)

1.SSH协议 SSH协议为Secure Shell的缩写,是一种网络安全协议,转为远程的登录会话和其他网络服务提供安全性的协议。 在Linux中,SSH的主要用途有:用户加密实现远程登录,服务器之间的免密登录。 SSH协议默认采用RSA算法实现非对称加密,需要两个密钥:公开密钥和私有密钥。 公钥和 ......
别名 集群 SSHfinalshell 基础 Hadoop

[刷题记录Day 23]Leetcode二叉树

No.1 题目 修剪二叉搜索树 思路 递归法 有点抽象,要对具体案例做模拟才好懂 递归分析 返回值:节点,参数:节点,[下界,上界] 终止条件:遇到空节点,返回空 单层递归逻辑:判断不在范围内的情况:当前节点小于下界/大于上界,直接返回右/左子树递归结果;若在范围内,则递归筛查左右子树,返回当前节点 ......
Leetcode Day 23

安装Linux操作系统,学习Linux基础

1.虚拟机与Linux系统安装 1.1VirtualBox安装 VirtualBox安装 经验: 1.光驱可在设置虚拟机时设定(设置虚拟机时即可置入Ubuntu) 2.若虚拟磁盘路径包含中文,VirtualBox程序右侧会出现问题弹窗,点击可查看问题详情(无法覆盖所选中文名文件夹),文件夹名称改为英 ......
Linux 基础 系统

文心一言 VS 讯飞星火 VS chatgpt (89)-- 算法导论8.3 2题

二、用go语言,下面的排序算法中哪些是稳定的:插入排序、归并排序、堆排序和快速排序?给出一个能使任何排序算法都稳定的方法。你所给出的方法带来的额外时间和空间开销是多少? 文心一言: 在Go语言中,以下排序算法是稳定的: 插入排序 归并排序 而以下的排序算法是不稳定的: 堆排序 快速排序 要使任何排序 ......
文心 导论 算法 chatgpt VS

cmake基础示例:如何编译【跨平台】的动态库和应用程序

示例代码 首先看一下测试代码的全貌: mylib:只有一个源文件,编译输出一个动态库; myapp:也只有一个源文件,链接 mylib 动态库,编译输出一个可执行程序; mylib 在mylib目录中,一共有3个文件:mylib.h, mylib.c 以及 CMakeLists.txt,内容分别如下 ......
示例 应用程序 基础 程序 动态