算法leetcode day 30

Day06

Day06 不同进制在代码中的表现形式 二进制:由0和1组成,代码中以0b开头 八进制:由0~7组成,代码中以0开头 十进制:由0~9组成,前面不加任何前缀 十六进制:由09还有af组成,代码中以0x开头 public class HelloWorld{ public static void mai ......
Day 06

冲刺day3

1 今日任务完成情况 1.1功能整合与GUI界面的优化 改善了各个函数之间的调用关系,整理了登录注册页面与主页面之间的优先级顺序,进一步对功能进行整合。 1.2 完善安全证书发放功能 在昨天的安全证书发放基础上,继续进行完善和修改。 今天生成了测试需要的证书,设置了初始密码。 1.3 完善加密传输功 ......
day3 day

冲刺day1

冲刺DAY1 1 各个成员在 Alpha 阶段认领的任务 20211322 肖权城 实现本地与线上I/O模块 20211406 张顺扬 安全处理模块 20211312 徐元琦 总体设计 20211328 沈楗翔 算法应用 20211321 李心怡 安全处理模块 2 明日各个成员的任务安排 20211 ......
day1 day

Kafka日志压实算法

概念介绍 我们有时候可以把Kafka当作key、value数据库用(当然kafka中的消息可以不指定key)。 __consumer_offsets 这个topic的数据,就是典型的key、value数据。 /usr/local/kafka2.8/bin/kafka-run-class.sh kaf ......
算法 Kafka 日志

Day31 方法的定义和调用

方法的定义和调用 Java的方法类似于其它语言的函数,是一段用来完成特定功能的代码片段,一般情况下,定义一个方法包含以下语法: 方法包含一个方法头和一个方法体。下面是一个方法的所有部分: 修饰符:修饰符,这是可选的,告诉编译器如何调用该方法。定义了该方法的访问类型。如:public static f ......
方法 Day 31

KMP算法和Manacher算法

KMP算法 KMP算法解决的问题 KMP算法用来解决字符串匹配问题: 找到长串中短串出现的位置. KMP算法思路 暴力比较与KMP的区别 暴力匹配: 对长串的每个位,都从头开始匹配短串的所有位. KMP算法: 将短字符串前后相同的部分存储在\(next\)数组里,让之前匹配过的信息指导之后的匹配. ......
算法 Manacher KMP

[LeetCode] 2482. Difference Between Ones and Zeros in Row and Column

You are given a 0-indexed m x n binary matrix grid. A 0-indexed m x n difference matrix diff is created with the following procedure: Let the number o ......
Difference and LeetCode Between Column

[转]一文搞懂对称加密:加密算法、工作模式、填充方式、代码实现

原文地址:一文搞懂对称加密:加密算法、工作模式、填充方式、代码实现 - 知乎 单向散列加密只能够对消息进行加密(严格来说是计算消息的摘要),想要实现对密文解密,需要使用其它加密方式了。今天介绍一个在信息安全领域中,比较重要的加密方式——对称加密。 下面是本篇讲述内容: 加密、解密和密钥 加密(Enc ......
算法 模式 代码 方式

[转]Java中对称加密算法使用

原文地址:对称加密算法 - 廖雪峰的官方网站 对称加密算法就是传统的用一个密码进行加密和解密。例如,我们常用的WinZIP和WinRAR对压缩包的加密和解密,就是使用对称加密算法: 从程序的角度看,所谓加密,就是这样一个函数,它接收密码和明文,然后输出密文: secret = encrypt(key ......
算法 Java

算法学习笔记四一插入排序

目录什么是插入排序算法原理示例代码 什么是插入排序 插入排序可理解为扑克牌摸牌的过程,手中的牌为有序序列,然后随机摸一张牌,根据牌的大小插入到有序序列对应的位置。算法时间复杂度为O(n^2) 算法原理 默认列表第一个元素为基准,从第二个元素和第一个元素进行比较,并放入到相应位置。 此时前两个元素是一 ......
算法 笔记

day20231215周五

今天发薪资了4088.6元。自己的能力决定了 工资。 强大自己是最重要的事情。 字得一笔一划写清楚,知识得一个字一个字学明白,耐心,必须付出时间和精力才可以。 切忌心浮气躁。一步一个脚印,脚踏实地才是对的。 ......
20231215 day

代码随想录算法训练营第三天|203.移除链表元素、707.设计链表、206.反转链表

LeetCode 203.移除链表元素 题目链接:203.移除链表元素 原链表删除元素(需要区分头节点和非头结点) 使用虚拟头节点,统一链表操作(注意:新链表头结点是虚拟头节点的下一节点) LetCode 707.设计链表 题目链接:707.设计链表 注意:头节点采用虚拟头节点,使得链表操作具有一致 ......
随想录 训练营 随想 算法 元素

算法学习Day3虚拟头指针,设计链表,反转链表

Day3虚拟头指针,设计链表,反转链表 By HQWQF 2023/12/15 笔记 203.移除链表元素 给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val == val 的节点,并返回 新的头节点 。 解法:虚拟头指针 看起来非常简单,但是由于如果直接 ......
指针 算法 Day3 Day

算法学习笔记三一选择排序

目录什么是选择排序算法原理示例代码 什么是选择排序 选择排序的主要思想是(升序为例):第一次从待排序的数据元素中选出最小的一个元素,和数组的起始位置元素进行交换,然后再从剩余的未排序元素中寻找到最小元素,然后和未排序的序列的第一个元素进行交换。每次在未排序序列中选择一个最小元素这样已排序序列就是一个 ......
算法 笔记

12月集训游记(day1-day3)

Day 1 好好好,今天没有爆零,这真是一个良好的开局,接下来的集训我一定会学有所得的哈哈哈哈哈哈哈哈哈… 总结一下今天的题目 T1 反正是个动态规划 首先,怎么看出来这是个动态规划的……因为计数问题不是组合数就是dp,而显然,如果这道题存在组合数做法我更不会 显然,有解的一个必要条件是 n∣h,因 ......
day day1-day 游记 day1

双指针算法概念

"双指针"是一种在数组或链表中使用两个指针来进行操作的技术。这两个指针通常被称为“快”指针和“慢”指针,或者“左”指针和“右”指针,根据其在数据结构中的移动速度或位置来命名。双指针算法在处理数组或链表的问题中非常有效,可以帮助我们以更优的时间复杂度解决问题。常见的应用包括两数之和、判断链表是否存在环 ......
指针 算法 概念

团队作业(五):冲刺总结 (day 3)

day3 2023.12.13 一、今日任务分配表 二、任务完成情况 前端 目前正在进行登录界面的框架设计,包括管理员和普通用户分区块的管理方法。同时,我们正在模拟测试阶段,以解决后端与前端匹配的潜在问题。 数据库 继续深入学习并进行数据库的制作。 项目整体框架 前端截图: 后端截图: ......
团队 day

团队作业(五):冲刺总结 (day 5)

day5 2023.12.15 一、今日任务分配 学号 姓名 任务 完成情况 20211104 窦豆 完善后端日志功能 √ 20211110 梁艺轩 提交数据库 √ 20211115 范伊晴 后端链接数据库 √ 20211116 彭玮琪 前端设计 √ 20211123 安季然 前端设计 √ 二、部分 ......
团队 day

代码随想录算法训练营第三天 | 链表理论基础,203.移除链表元素,707.设计链表,206.反转链表

一、链表理论基础 学习: 1. 链表定义 线性表的一种存储方式,在逻辑上连续的数据在物理存储中可以不连续。 class ListNode { int val; ListNode next; ListNode() { } ListNode(int val) { this.val = val; this ......
随想录 训练营 随想 算法 元素

冲刺(day5)

团队任务总结 一、任务分配与成果 今天,我们小组协同完成了文件上传与下载页面的设计与编码,每位成员积极参与并贡献力量: 设计与布局: 张钰权负责整体页面布局和样式设计,保障了页面在各种设备上的出色显示效果。 用户体验优化: 周绍坤专注于表单元素的设计和样式调整,从而提升了用户填写信息的便捷性,确保了 ......
day5 day

代码随想录算法训练营Day3 | 203.移除链表元素、707.设计链表、206.翻转链表

这三道题都不涉及什么难以理解的算法,是对链表基础知识的一个复习巩固 对于有数据结构基础的同学来说这个没有什么难度 但是,写代码的过程中,我明显感觉到,我需要更加完善和统一的代码风格,作为一个前OIer,我的c和cpp混用的情况在基础数据结构的封装层面造成了不小的混乱! 我需要去补充cpp的内容的,或 ......
随想录 训练营 随想 算法 元素

代码随想录算法训练营Day2 |977.有序数组的平方、209.长度最小的子数组、59.螺旋矩阵 II

明天四级考试了,时间非常紧张,好在这些数组相关的算法题很久之前就做过,思路上是不存在不理解的地方的。 有序数组的平方是一道非常直观的双指针方法的应用,实现过程之中没有什么坑。 长度最小的子数组就是我们的滑动窗口方法了,题目不难,但是这种处理方式有着很深刻的背景,之后还会遇到此问题的变种。 螺旋矩阵问 ......
数组 随想录 训练营 矩阵 螺旋

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

四、用go语言,删除操作可交换吗?可交换的含义是,先删除 x 再删除 y 留下的结果树与先除 y 再删除 x 留下的结果树完全一样。如果是,说明为什么? 否则,给出一个反例。 文心一言: 在Go语言中,删除操作是不可交换的。这意味着先删除节点 x 再删除节点 y 与先删除节点 y 再删除节点 x 留 ......
文心 导论 算法 chatgpt VS

[LeetCode] LeeCode703. 数据流中的第K大元素

题目描述 思路:最小堆 好好领悟这个代码: // 将nums数组所有元素插入小根堆中 for (int num : nums) { heap.offer(num); // 当小根堆的容量大于k时,就删除堆顶元素 if (heap.size() > k) heap.poll(); } 当heap.si ......
数据流 LeetCode 元素 LeeCode 数据

【kmp算法】字符串匹配

一,解决问题 kmp算法解决的是字符串匹配的问题,具体来说假定我们要在主串s[ ] 中匹配模式串p[ ],找到匹配到的位置loc; 二,具体实现和演变过程 最自然的想法是暴力写法 (BF)枚举主串字符s[ i ] ,和模式串p[ j ]。一个一个匹配,如果匹配失败,i指针回退回起点,往前进一位,再次 ......
字符串 算法 字符 kmp

drf 01 day

前后端开发模式 在开发Web应用中,有两种应用模式: -前后端混合开发 》bbs 项目:render+ajax -套路一:全栈开发(后端,前端)--》前端html+后端都是一个人写 -套路二:前端人员 后端人员 -前端人员 》写空页面 >没有模板语法,只要html,css少量js -把页面给后端 》 ......
drf day 01

冲刺博客day3

任务分配表 前端 目前正在进行登录界面的框架设计,包括管理员和普通用户分区块的管理方法。同时,我们正在模拟测试阶段,以解决后端与前端匹配的潜在问题。 数据库 继续深入学习并进行数据库的制作。 项目整体框架 前端截图: 后端截图: ......
博客 day3 day

基于Raft算法的DLedger-Library分析

在分布式系统应用中,高可用、一致性是经常面临的问题,针对不同的应用场景,我们会选择不同的架构方式,比如master-slave、基于ZooKeeper选主。随着时间的推移,出现了基于Raft算法自动选主的方式,Raft是在Paxos的基础上,做了一些简化和限制,比如增加了日志必须是连续的,只支持领导... ......
DLedger-Library 算法 DLedger Library Raft

JavaWeb - Day08 - MySQL - 多表查询、事务、索引 - Mybatis - 入门

01. MySQL-多表查询-概述 数据准备 #建议:创建新的数据库 create database db04; use db04; -- 部门表 create table tb_dept ( id int unsigned primary key auto_increment comment '主 ......
索引 事务 JavaWeb Mybatis MySQL

Java-常见的排序算法有哪些

Java-常见的排序算法有哪些 比较排序算法: 冒泡排序(Bubble Sort): 过程: 从左到右依次比较相邻的元素,如果顺序不对就交换它们,一轮比较会将最大的元素冒泡到末尾。 优势: 简单易懂,对于小型数据集表现较好。 劣势: 时间复杂度为 O(n^2),性能相对较差。 插入排序(Insert ......
算法 常见 Java