算法leetcode基础day6
《Java基础——环境变量的配置》
Java基础——环境变量的配置 一、JDK的下载 目前为止,JDK总共有三个LTS版本(长期支持版本) | 版本 | LTS时间 | | : : | : : | | JDK 8 | 2030年12月 | | JDK 11 | 2026年9月 | | JDK 17 | 2024年9月 | 同学们可以根 ......
c/c++零基础坐牢第四天
c/c++从入门到入土(4) 开始时间2023-04-18 22:43:56 结束时间2023-04-19 00:20:49 前言:前面的章节,我们编写的程序都涉及三个基本操作,输入数据、对数据进行计算和处理、输出运算结果,这是最常见的IPO形式程序结构,即顺序结构。在顺序结构中只能自顶向下、按照代 ......
扎实打牢数据结构算法根基,从此不怕算法面试系列之007 week01 02-07 简单的复杂度分析
#1、复杂度分析 复杂度分析本身是非常理论化的一个内容,在计算机科学中,有一个专门的学科叫做——计算复杂性理论。 很多童鞋看过《算法导论》,这本书的内容很多很强调算法导论。 但是实际上,对于普通程序员来说,不需要过度强调理论化的内容。因为工作中更多面对的是实际的 软件工程,工程化的工作不需要面对太多 ......
leetcode刷题随笔(2)
42.收集雨水(Trapping Rain Water) 方法一:利用双指针交叉循环求解,时间复杂度O(n) //接雨水 int trap(vector<int>& height) { int i=0,j=height.size()-1; int left_max=0,right_max=0; in ......
LeetCode Top100: 反转链表 (python)
给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。 示例 1: 输入:head = [1,2,3,4,5] 输出:[5,4,3,2,1] 示例 2: 输入:head = [1,2] 输出:[2,1] 示例 3: 输入:head = [] 输出:[] 提示: 链表中节点的数目范围是 [ ......
MQ基础笔记
一、MQ(消息队列): 1、本质: MQ(message queue),本质是个队列,FIFO先入先出原则。在互联网架构中,MQ是一种常见的上下游“逻辑解耦+物理解耦”的消息通信服务。 2、优缺点: (1)、优点: 1)、异步: 不同的业务可以同时从消息队列中获取消息进行消费,实现异步处理。 2)、 ......
带约束条件的运筹规划问题求解(模拟退火算法实现)
0. 写在前面 超级简单的模拟退火算法实现ε٩(๑> ₃ <)۶з搭配最简单的线性规划模型进行讲解!但是如果需要的话可以直接修改编程非线性问题哦(´つヮ⊂︎) 1. 模型描述及处理 1.1 线性规划模型 $$ max,f(x)=10x_1+9x_2 $$ $s.t.$ $$ 6x_1+5x_2\le ......
【THM】Python Basic(Python基础)-学习
本文相关的TryHackMe实验房间链接:https://tryhackme.com/room/pythonbasics 本文相关内容:使用基于网络的代码编辑器,学习Python的基础知识,并将你的知识付诸实践。 Python简介 在本文中,你将亲身体验并学习脚本编程语言Python,学会编程允许你 ......
LeetCode Top100: 翻转二叉树(python)
给你一棵二叉树的根节点 root ,翻转这棵二叉树,并返回其根节点。 示例 1: 输入:root = [4,2,7,1,3,6,9] 输出:[4,7,2,9,6,3,1] 示例 2: 输入:root = [2,1,3] 输出:[2,3,1] 示例 3: 输入:root = [] 输出:[] 提示: ......
Docker中的namespace和cgroup基础知识
Docker是使用容器container的平台,容器其实只是一个隔离的进程,除此之外啥都没有。这个进程包含一些封装特性,以便和主机还有其他的容器隔离开。一个容器依赖最多的是它的文件系统也就是image,image提供了容器运行的一切包括 code or binary, runtimes, depen ......
LeetCode Top 100: 二叉树的直径 (python)
给定一棵二叉树,你需要计算它的直径长度。一棵二叉树的直径长度是任意两个结点路径长度中的最大值。这条路径可能穿过也可能不穿过根结点。 示例 :给定二叉树 1 / \ 2 3 / \ 4 5 返回 3, 它的长度是路径 [4,2,1,3] 或者 [5,2,1,3]。 注意:两结点之间的路径长度是以它们之 ......
4月18日leetcode二叉树几种遍历方式的非递归和递归
给你二叉树的根节点 root ,返回它节点值的 前序 遍历。 示例 1: 二叉树的前序中序和后序遍历算法是学习二叉树必不可少的,若是使用c语言遍历前中后序还是比较繁琐的,因为要考虑遍历结果存放的序列大小问题,想要解决这个问题就得想用递归计算二叉树的节点数量,再调用递归子函数完成递归遍历。 解题思路, ......
机器学习:XGBoost算法介绍
动动发财的小手,点个赞吧! 1. 简介 XGBoost (eXtreme Gradient Boosting)是一种用于回归、分类和排序的机器学习算法。它是GBDT(Gradient Boosting Decision Trees)的一种高效实现,能够在大规模数据集上运行,并具有很强的泛化能力。XG ......
leetcode_打卡7
leetcode_打卡7 题目:238. 除自身以外数组的乘积 思路: 代码: class Solution { public int[] productExceptSelf(int[] nums) { int n=nums.length; int sum=1,result=1; int j=0; ......
声明式策略基础—(菜鸡随笔)
声明式策略基础—(菜鸡随笔) 声明式策略是ASP.NET Core中用于授权和访问控制的一种高级技术。 使用声明式策略,您可以根据用户身份和角色来限制某些API端点或控制器的访问权限。 在本文中,将简单介绍如何使用声明式策略来实现灵活的授权管理。 友善讨论,谢谢观看 声明式策略基础 在ASP.NET ......
LeetCode:Search Algorithm
LeetCode:Search Algorithm 1\First unique char Algorithm Design 利用字符数量的有限性,通过数组来映射(避免Hash_map的高复杂度) 注意数组声明为int A[26]而不是char A[26]; if(s=="") return ' ' ......
【线程基础】【五】yield、sleep、wait方法的异同
1 前言 本节我们讲下Thread.yield()方法的作用,并对比下sleep()方法、wait()方法,看看三者有何区别。 2 yield 方法 作用是:提出释放CPU时间片的请求,不会释放锁,主要知道它不会阻塞线程即可哈,平时我是没怎么用过哈。特点就是:(1)yield()方法只是提出申请释放 ......
LeetCode Top100: 合并二叉树(python)
给你两棵二叉树: root1 和 root2 。 想象一下,当你将其中一棵覆盖到另一棵之上时,两棵树上的一些节点将会重叠(而另一些不会)。你需要将这两棵树合并成一棵新二叉树。合并的规则是:如果两个节点重叠,那么将这两个节点的值相加作为合并后节点的新值;否则,不为 null 的节点将直接作为新二叉树的 ......
leetcode-206反转链表
反转链表 方法一:迭代法 /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode() : val(0), next(nullptr) {} * ListN ......
算法刷题系列——二分查找
704. 二分查找(2023.4.17) 给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。 示例 1: 输入: nums = [-1,0,3,5,9,12], target = ......
【线程基础】【二】线程的状态流转
1 前言 上节我们看了线程是如何创建启动的,那么启动以后线程怎么管理呢,这就要看我们线程的状态管理了,这节我们就来看看线程都有哪些状态以及什么操作下会驱使状态的变化流转。 2 状态定义 Java线程有6种状态定义在Thread的子类State,分别是NEW、RUNNABLE、BLOCKED、WAIT ......
leetcode刷题随笔(1)
11.盛水最多的容器 暴力求解超时问题的解决 int maxArea(vector<int>& height) { int max=0; int n=height.size(); int num; int i,j; for(i=0;i<n;i++) for(j=0;j<n;j++) { if(i<j ......
4.18 c++图形库easyx的基础编程
头文件#include<graphcis.h> 一 基础绘图概念 1.颜色用三原色表示RGB (红色部分,绿色部分,蓝色部分) 每一部分的数值范围(0~255)。基本大写英文单词已对应 例如BLUE 蓝色 2.窗口坐标的默认原点在左上角(0,0)x轴正方向向右,y轴正方向向下。 二 窗口函数 ini ......
【线程基础】【一】线程的创建方式
1 前言 本节开始我们来回顾下线程基础相关的东西,最近在复习所以来做一些笔记哈,这节我们来讲讲创建线程的方式。 2 创建分类 Java提供了两种线程的创建方法,第一种是继承Thread类;第二种是实现Runable接口,并将Runnable实例传递给Thread类。详细的可以参考官方文档哈:http ......
Linux基础命令
一、关机或重启命令 ''' 参数介绍 -h (hour小时的意思 后面跟具体时间12:30 常用 -h 0 或 -h now 都表示立刻) -c (cancel 取消关机或重启方案) -r (restart 重启 -h 0 或 -h now 都表示立刻重启) ''' shutown -h now # ......
Linux基础16 yum命令, 源码安装nginx, fpm工具打rpm包进yum仓库
yum实战命令: 安装: yum install -y:不交互安装 # 选项[y/d/N]: d代表只下载不安装 没有-d参数 yum localinstall 安装本地的rpm包,并安装依赖(从其他源里下载安装) yum reinstall 重装 # 可用于修复 查询: yum list 查询所有 ......
快速幂算法
对于计算比较大的幂的结果时可以采用快速幂来降低时间复杂度 例如求K的n次幂 int Pow(int K, int n) { for (int i = 0; i < n; i++) K *= K; return K; } 最朴素的思想就是直接n次循环,让K自乘n次,但是随着n的增加循环次数会越来越多, ......
Windows下 Elasticsearch 0基础安装
1.java jdk 1.8以上 安装 https://www.oracle.com/java/technologies/downloads/#jdk20-windows 2.Elasticsearch 7.6 安装 https://elasticsearch.cn/download/ 3.Elas ......
排序算法-基数排序
基数排序Radix Sort 1. Radix Sort介绍 Radix Sort属于“分配式排序”(Distribution Sort),又称“桶子法”(Bucket Sort),其是通过比较待排序序列的所有元素的各个位的值,将元素分配至“桶”中,以达到排序的目的。Radix Sort是一种效率较 ......