算法leetcode基础day6

Java基础 字符流、字符输入流

字符流的底层其实就是字节流,只不过在字节流的基础上又添加了字符集的概念(字符流 = 字节流 + 字符集) 字符流的特点: 输入流:一次读一个字节,遇到中文时,一次读多个字节(GBK一次读两个,UTF-8一次读三个) 输出流:底层会把数据按照指定的编码方式进行编码,变成字节再写到文件中 字符流应用场景 ......
字符 基础 Java

Java基础 Java中编码、解码的方法

所谓编码,就是把我们要存储的数据变成能真正的存储在硬盘当中的字节数据 编码的方法: public byte[] getBytes () → 使用默认方式进行编码(idea默认使用UTF-8;eclipse默认使用GBK) public byte[] getBytes (String charsetN ......
Java 编码 基础 方法

01-蓝牙基础知识

目录一. 蓝牙广播1. 蓝牙信道 一. 蓝牙广播 1. 蓝牙信道 低功耗蓝牙一共有40个信道, 范围从2402MHz-2480MHz每2MHz一个信道. ......
基础知识 基础 知识 01

Java基础 为什么会有乱码?

为什么会有乱码? 原因①:读取数据的时候未读完整个汉字 原因②:编码和解码的方式不统一 如何不产生乱码? 1. 不要用字节流读取文本文件 2. 编码解码时使用同一个码表,同一种编码方式 问:字节流读取中文会乱码,但为什么拷贝文本文件不会乱码呢? 答:拷贝时,是一个字节一个字节地拷贝过去的,数据没有丢 ......
乱码 基础 Java

Java基础 Unicode、UTF-8

UTF-8 不是字符集,而是 Unicode 字符集的一种编码方式 UTF-8 编码规则:用 1~4 个字节保存 UTF-8 规定,如果是 ASCII 里面的英文字母,统一用一个字节表示,二进制的第一位是 0,转成十进制是正数 UTF-8 规定 一个中文用三个字节表示,二进制的第一位是 1,第一个字 ......
Unicode 基础 Java

Java基础 计算机的存储规则

在计算机中,任意数据都是以二进制的形式来存储的 8个比特为1个字节,字节是计算机最小的存储单元 计算机在存储英文的时候,只需一个字节 简体中文版 Windows 默认使用 GBK 字符集。GBK 字符集完全兼容 ASCII 字符集 GBK编码: 规则①:一个汉字用两个字节存储(英文字母占一个字节,二 ......
规则 计算机 基础 Java

01. 网络基础

一、什么网络通信 计算机网络把分布在不同地理区域的计算机与专门的外部设备用通信线路互联成一个规模大、功能强的网络系统,从而使众多的计算机可以方便的互相传递信息、共享硬件、软件、数据信息等资源。网络编程直接或间接地通过网络协议与其它计算机实现数据交换,进行通信。 OSI参考模型 TCP/IP参考模型 ......
网络基础 基础 网络 01

diff算法

什么是Diff算法?Diff算法是Vue.js的一个核心特性,它是一种用于比较虚拟DOM树的差异,并最小化DOM操作的数量。当Vue.js检测到数据更改时,它会生成一个新的虚拟DOM树,并将其与旧虚拟DOM树进行比较。Diff算法会查找差异,并仅对需要更改的部分进行DOM操作。这种算法可以帮助我们在 ......
算法 diff

算法笔记(6)数列分块

原发表于我的博客 前言 分块不能说是一种数据结构,它是一种思想,无论是数列分块,块状链表,还是数论分块,莫队算法,都应用了分块的思想。 本文主要介绍狭义上的分块,即数列分块。 数列分块的引入 数列分块可以说是暴力,一种优美的暴力,它的基本思路是,把数列分成若干块(一般取\(\sqrt n\)),分块 ......
数列 算法 笔记

算法笔记(5)贪心算法

原发表于我的博客 贪心算法 贪心与其说是一种算法,不如说一种思想。 贪心思想,顾名思义,就是总是做出当前最好的选择,这种方式可能在全局上不是最好的结果,但是在一些题目中就可以直接用。 最简单的例子就是“货比三家”,在生活中,我们买东西时都会挑性价比最优的,这就是一种贪心。 贪心算法在OI中经常与其他 ......
算法 笔记

算法笔记(4)莫队算法入门

原发表于我的博客 前言 本来想学完回滚莫队、树上莫队、二离莫队之后一起写一个博客,但是一直学不会/kk,只好把已会的普通莫队和带修莫队写了(以后会补上的) 普通莫队 莫队——优雅的暴力 莫队算法的引入 例题: 给定一个数列和若干询问,每次询问询问一段区间内不同种类数字的个数。 暴力做法 每次询问暴力 ......
算法 笔记

算法笔记(3)模拟退火

原发表于个人博客= 模拟退火的引入 假如我们有一个函数,要求它的极大值,怎么求呢? 如果这个函数满足单调性,可以用二分的方法。 如果这是一个单谷(或单峰)函数,可以用三分法。 那要是多峰函数怎么半呢? 这时就可以用随机化算法。 一种朴素的方法是:每次在当前找到的最优方案\(x\)附近寻找一个新方案。 ......
算法 笔记

算法笔记(2)FHQtreap

原发布于我的个人博客 前言 FHQtreap绝对是平衡树里最好写,最实用的,他几乎能做所有splay或其它平衡树能做的事,还能可持久化! 这篇文章将会介绍FHQtreap的基本操作和维护区间的操作,并附上例题。 基本操作 FHQtreap的基本操作只有两个,分裂和合并。 有些读者可能会问,分裂和合并 ......
算法 FHQtreap 笔记

K-medoids聚类算法

发展: 们每次选簇的平均值作为新的中心,迭代直到簇中对象分布不再变化。因此一个具有很大极端值的对象会扭曲数据分布,造成算法对极端值敏感 在聚类分析中,异常值通常会引起问题,因为它们可能会被分配到一个独立的聚类,从而干扰正常的聚类结果。这可能导致聚类算法产生不合理或不稳定的结果 定义: K-Medoi ......
算法 K-medoids medoids

算法笔记(1)线段树

原发表于个人博客。 前言 线段树,是数据结构皇冠上的明珠(我编的)。 它用途广泛,被一代代的oier应用,改进,优化。 本文介绍了线段树的基础知识和各种拓展(包括权值线段树,可持久化线段树),各种优化方式(包括zkw线段树,动态开点,离散化),希望能帮到更多的oier。 在学习线段树前,默认你应该学 ......
线段 算法 笔记

算法-共识算法

一、Paxos 基础的Paxos算法包括如下三种:Basic Paxos、Multi Paxos、Fast Paxos Paxos将系统中的角色分为提议者 (Proposer),决策者 (Acceptor),和最终决策学习者 (Learner): 【Proposer】:提出提案(Proposal)。 ......
算法 共识

Java基础 捕获异常的完整形态

finally 里面的代码是一定会执行的,除非虚拟机停止(跟 JVM 退出是一个意思) 所以经常把释放资源之类的扫尾代码放在 finally 里面 语法格式: try { } catch (Exception e) { } finally { } JDK7 的时候,Java 推出了一个接口叫 Aut ......
形态 基础 Java

[Leetcode] 0088. 合并两个有序数组

88. 合并两个有序数组 题目描述 给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2,另有两个整数 m 和 n ,分别表示 nums1 和 nums2 中的元素数目。 请你 合并 nums2 到 nums1 中,使合并后的数组同样按 非递减顺序 排列。 注意:最终,合并后数组不应由 ......
数组 Leetcode 两个 0088

manacher算法

manacher算法 斯♥哈♥学长的博客https://www.cnblogs.com/luckyblock/p/17044694.html#5140558 为什么老师叫他马拉车算法/yiw 简介 我们都知道,求最长回文子串可以枚举每一个开始的点,然后直接一个一个比较就完事,但这样的复杂度是接近 \ ......
算法 manacher

常见java基础面试题

Java中的集合框架包括常用的List、Set和Map等接口及其相应的实现类。例如: List接口的实现类有ArrayList、LinkedList等。 Set接口的实现类有HashSet、TreeSet等。 Map接口的实现类有HashMap、Hashtable等。 HashMap和Hashtab ......
常见 基础 java

[Leetcode] 0824. 山羊拉丁文

824. 山羊拉丁文 题目描述 给你一个由若干单词组成的句子 sentence ,单词间由空格分隔。每个单词仅由大写和小写英文字母组成。 请你将句子转换为 “山羊拉丁文(Goat Latin)”(一种类似于 猪拉丁文 - Pig Latin 的虚构语言)。山羊拉丁文的规则如下: 如果单词以元音开头( ......
山羊 Leetcode 0824

Makefile基础使用和实战详解

一、基础 Makefile 其实只是一个指示 make 程序如何为我们工作的命令文件,我们说 Makefile 其实是在说 make。而对于项目来说,Makefile 是指软件项目的编译环境。 Makefile 的好坏对于项目开发有些什么影响呢?设计得好的 Makefile,当我们重新编译时,只需编 ......
实战 Makefile 基础

Java基础 字节输入流 读取数据 的两个方法API

public int read () → 一次读取一个字节数据 public int read (byte[] buffer) → 一次读取一个字节数组的数据,每次读取都会尽可能把数组装满 我们创建的数组的长度尽量是 1024 的整数倍,例如 1024*1024*5 的长度 ......
字节 两个 基础 方法 数据

C++U4-贪心算法1

本节学习目标:贪心算法的概念以及对应练习题 贪心算法概念 贪心算法的特点 利用贪心算法的两个性质 练习1:最优装载问题 【本题算法分析】 优先把重量小的物品放进去,在容量固定的情况下,装的物品量最多。因此采用重量最轻者先装的贪心选择策略,可从局部最优达到全局最优。 参考代码 #include <io ......
算法 U4

Java基础 文件拷贝的基本代码

FileInputStream fis = new FileInputStream("E:\\Java基础资料\\a.txt");FileOutputStream fos = new FileOutputStream("E:\\Java基础资料\\b.txt" );while (true) { in ......
拷贝 代码 文件 基础 Java

Java基础 字节输入流的循环读取

FileInputStream fis = new FileInputStream("E:\\Java基础资料\\a.txt");/*int b;while((b = fis.read()) != -1) { System.out.print((char)b);}*/while (true) { i ......
字节 基础 Java

示波器、示波器基础用语、示波器功能介绍

1、技术用语:带宽 指的是正弦输入信号衰减到其实际幅度的70.7%时的频率值,即-3dB点(基于对数标度)。本规范指出示波器所能准确测量的频率范围。带宽决定示波器对信号的基本测量能力。随着信号频率的增加,示波器对信号准确显示能力将下降。如果没有足够的带宽,示波器将无法分辨高频变化。幅度将出现失真,边 ......
示波器 用语 功能 基础

Java基础 FileInputStream 字节输入流的细节

1. 创建字节输入流对象:FileInputStream fis = new FileInputStream("E:\\Java基础资料\\a.txt"); 细节:如果文件不存在,就直接报错 2. 读取数据(read 方法负责读取数据,会一个一个地读,如果读不到了,就会返回 -1) 细节①:一次读取 ......
FileInputStream 字节 细节 基础 Java

Docker基础

目录1. docker 介绍2. docker 安装3. docker 常用命令3.1 docker信息3.2 镜像操作3.3 容器启动和状态管理3.4 容器相关操作4. docker 镜像4.1 镜像加载原理4.2 镜像操作4.2.1 commit4.2.2 export 和 import4.2. ......
基础 Docker

文心一言 VS 讯飞星火 VS chatgpt (119)-- 算法导论10.3 4题

四、用go语言,我们往往希望双向链表的所有元素在存储器中保持紧凑,例如,在多数组表示中占用前m 个下标位置。(在页式虚拟存储的计算环境下,即为这种情况。)假设除指向链表本身的指针外没有其他指针指向该链表的元素,试说明如何实现过程ALLOCATE-OBIECT和 FREE-OBJECT,使得该表示保持 ......
文心 导论 算法 chatgpt VS