Java实现单链表反转

public class Test { class Node { Node next; int data; protected Node(int data) { this.data = data; } } /** * 构建单链表 * * @param nums * @return */ private Node crea
分类: 其他 发布时间: 05-02 21:42 阅读次数: 0

消除非检查警告

使用泛型编程时,会看到许多编译器警告:未经检查的强制转换警告,未经检查的方法调用警告, 未经检查的参数化可变长度类型警告以及未经检查的转换警告。 你使用泛型获得的经验越多,获得的警 告越少,但不要期望新编写的代码能够干净地编译 许多未经检查的警告很容易消除。 例如,假设你不小心写了以下声明: Set<Lark> exaltation = new HashSet(); Venery.java:4: warning: [unchecked] unchecked conversion Set<La
分类: 其他 发布时间: 05-02 21:42 阅读次数: 0

肉末茄子

肉末先炒好(加白胡椒粉) 生姜大蒜切碎(1茄子1头蒜) 茄子不加油小火煸至表面微变色拨到一边 加油煸:生姜末大蒜末熟肉末、辣椒酱/豆瓣酱/XX酱(酱只能加一种,否则串味不好瓷) 加水差不多与茄子同高,可加或不加其他调料(酱油、味精、糖、etc)煮至水差不多没(或茄子将溶未溶) 出锅前可沿锅壁加点酒
分类: 其他 发布时间: 05-02 21:42 阅读次数: 0

Java四种锁及分布式锁的初解【纯转】

一:分类 (1)宏观 乐观锁 乐观锁是一种乐观思想,即认为读多写少,遇到并发写的可能性低,每次去拿数据的时候都认为别人不会修改,所以不会上锁,但是在更新的时候会判断一下在此期间别人有没有去更新这个数据,采取在写时先读出当前版本号,然后加锁操作(比较跟拿数据时的版本号,如果一样则更新,版本号+1)。 java中的乐观锁基本都是通过CAS操作实现的,CAS是一种更新的原子操作,比较当前值跟传入值是否一样,一样则更新,否则失败。 CAS--Compare And Swap 比较并交换--通过比较传入
分类: 其他 发布时间: 05-02 21:42 阅读次数: 0

Codeforces 1231E Middle-Out 题解

博客观赏效果更佳 题意简述 (\(q\) 组数据)你有两个串,\(s\) 和 \(t\),长度都是 \(n\)。现在你可以对 \(s\) 做若干次操作:选择某一个字符,把它移到最前面或者最后面(二选一)。 你现在要把 \(s\) 变成 \(t\),请问最少需要多少步操作。不行输出 \(-1\)。 \(1\le q,n\le100\)。 思路 先放结论:求出最长的串 \(a\) 使得 \(a\) 是 \(s\) 的子序列(不一定连续),并且是 \(t\) 的子串(必须连续),答案是 \(n-|a
分类: 其他 发布时间: 05-02 21:42 阅读次数: 0

000、常见算法解析

01、按照内存对齐,重新计算结构体长度 1 const ( 2 maxAlign = 8 //按照8个byte进行内存对齐 3 hchanSize = unsafe.Sizeof(hchan{}) + uintptr(-int(unsafe.Sizeof(hchan{}))&(maxAlign-1))//重新计算hchan的size,且内存对齐 4 debugChan = false 5 )
分类: 其他 发布时间: 05-02 21:42 阅读次数: 0

leetcode刷题记录——链表

使用java实现链表 单向链表 双向链表 单向循环链表 双向循环链表 题目记录 160.相交链表 例如以下示例中 A 和 B 两个链表相交于 c1: A: a1 → a2 ↘ c1 → c2 → c3 ↗ B: b1 → b2 → b3Copy to clipboardErrorCopied 但是不会出现以下相交的情况,因为每个节点只有一个 nex
分类: 其他 发布时间: 05-02 21:42 阅读次数: 0

[每日一题]:B. Phoenix and Beauty

题目: 题目大意: 给一个数组 A ,有一个 K ,代表子序列的区间大小是 k ,可以向数组 A 中插入元素组成一个新的数组,问 是否可以使得新数组满足 每个 区间大小为 k 的子序列的元素和相同。 考察点: 构造、贪心、思维 侃侃: 构造题是真的不好想啊,这里需要想清楚几个点: 1、如何使得我们构造的数组成为一个常态(即满足所有的测试) 2、构造的新数组中 不同的元素个数 == k (关于这点刚开始一直没想清楚,之后看到大佬写的才慢慢理解) 如果 不同的元素个数 > k ,我们
分类: 其他 发布时间: 05-02 21:42 阅读次数: 0

Alpha冲刺——Day 8

这个作业属于哪个课程 <2020 春 W 班 (福州大学)> 这个作业要求在哪里 <作业要求> 团队名称 <旗山的骄傲> 这个作业的目标 <Alpha 冲刺> 作业正文 <作业正文> 其他参考文献 <《构建之法》> part.01 昨天进展、存在问题、今天安排 后端 陈浩男 221701412 昨日进展:评论表的基本接口完成了一部分 存在问题:评论的子评论怎么解决 今天安排:完成三张评论表的基本接口加敏感词模块 心得体会:小问题也得花心思,不是那么容易解决的 郑斯彬 221701431 昨日进
分类: 其他 发布时间: 05-02 21:42 阅读次数: 0

plan before start coding

It's difficult to control the time and energy cost in real coding project. As you find a goad and work toward it, there would be a lot of traps in the way. The trap can be bug, new study or research work, wrong direction and weird problem (can't be
分类: 其他 发布时间: 05-02 21:42 阅读次数: 0

什么情况下设置了索引但无法使用 ?

1、以“%”开头的 LIKE 语句,模糊匹配 2、OR 语句前后没有同时使用索引 3、数据类型出现隐式转化(如 varchar 不加单引号的话可能会自动转换为 int 型)
分类: 其他 发布时间: 05-02 21:42 阅读次数: 0

第二阶段作业总结博客

0.前言: 第二阶段作业整体难度较第一阶段要高,主要考察的是类的多态、继承的掌握和使用。但是难点在于正则表达式的使用,掌握正则表达式的使用对于此次作业至关重要,正则表达式可以使对数据的校验代码精简而高效,是解题的关键。 第五次作业三题难度递减,第一题的水文校验及处理是主要的考察点,难度较大。对数据的校验极大彰显了正则表达式使用的优势,由于当时还并没有掌握正则表达式的使用,故解题失败。第二题主要了解一个计算圆周率的方法,对于类的使用要求不多,可用可不用。第三题则考察类的继承和多态,如果对此掌握较
分类: 其他 发布时间: 05-02 21:42 阅读次数: 0

优化数据库的方法 ?

1、选取最适用的字段属性,尽可能减少定义字段宽度,尽量把字段设置 NOTNULL, 例如’省份’、’性别’最好适用 ENUM 2、使用连接(JOIN)来代替子查询 3、适用联合(UNION)来代替手动创建的临时表 4、事务处理 5、锁定表、优化事务处理 6、适用外键,优化锁定表 7、建立索引 8、优化查询语句
分类: 其他 发布时间: 05-02 21:42 阅读次数: 0

跑步日记(最近更新于:2020年5月2日)

目录 前言 2020/5/2 从今天开始(2020/5/1),我又开始了新的“征程”,决心开始练习正念,每天10分钟的正念呼吸,一直到大年三十,通过"正念日记"的方式记录每天的变化; 大年三十那天我会取消加密"正念日记",公布正念的效果,你会在"正念日记"当中见证我的迷茫,我的挣扎、我的痛苦,以及最终的成果; 在以后的每天,我都会在正念日志当中记录的体重变化以及重要的心态变化,"正念日记"是加密的,大年三十才能看哟! 与"正念日记"并行的还有另一篇博文,那就是本篇“跑步日记”,将会记录我的跑步
分类: 其他 发布时间: 05-02 21:42 阅读次数: 0

数据库中的事务是什么?

事务(transaction)是作为一个单元的一组有序的数据库操作。如果组中的所有 操作都成功,则认为事务成功,即使只有一个操作失败,事务也不成功。如果所 有操作完成,事务则提交,其修改将作用于所有其他数据库进程。如果一个操作 失败,则事务将回滚,该事务所有操作的影响都将取消。 事务特性: 1、原子性:即不可分割性,事务要么全部被执行,要么就全部不被执行。 2、一致性或可串性。事务的执行使得数据库从一种正确状态转换成另一种正确状 态 3、隔离性。在事务正确提交之前,不允许把该事务对数据的任何改
分类: 其他 发布时间: 05-02 21:42 阅读次数: 0

Pycharm报错 Environment location directory is not empty 解决

新电脑clone项目后发现Project Interpreter无法配置, New environment 选择后无法应用, 鼠标悬停在Location 提示 Environment location directory is not empty . 原因是项目push时, 项目下的venv文件夹也被上传, 当项目自带的环境不可用时, 该文件夹存在导致了Pycharm无法创建新的环境. 解决方法是手动删除项目下venv文件夹后重启Pycharm再配置New environment即可. 重新配
分类: 其他 发布时间: 05-02 21:42 阅读次数: 0

存储时期 ?

Datatime:以 YYYY-MM-DD HH:MM:SS 格式存储时期时间,精确到秒, 占用 8 个字节得存储空间,datatime 类型与时区无关 Timestamp:以时间戳格式存储,占用 4 个字节,范围小 1970-1-1 到 2038-1-19, 显示依赖于所指定得时区,默认在第一个列行的数据修改时可以自动得修改 timestamp 列得值 Date:(生日)占用得字节数比使用字符串.datatime.int 储存要少,使用 date 只 需要 3 个字节,存储日期月份,还可以利
分类: 其他 发布时间: 05-02 21:42 阅读次数: 0

JSP 07课

package com.gd.dao; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.List; import javax.naming.Context; import javax.naming.Init
分类: 其他 发布时间: 05-02 21:42 阅读次数: 0

Invalidate metadata 和 Refresh语句有什么区别?各有什么应用场景?

Invalidate metadata 用来清空(重置)元数据,执行完后元数据处于未加载状态。Refresh 用来增量更新元数据,执行完后元数据处于已加载状态。 大部分情况我们推荐用 REFRESH 语句来解决元数据过时的问题,只有以下两种情况需要使用 INVALIDATE METADATA: Hive 中创建的新表在 Impala 中找不到,使用 REFRESH 语句会报错。 HDFS Rebalance 挪动了文件的 block 位置,此时 partition、文件的 mtime 都不变,
分类: 其他 发布时间: 05-02 21:42 阅读次数: 0

7-47 打印选课学生名单 (25分)--桶排

先将所有学生的信息按姓名字典序排序,再根据每个学生选的课程号码分别放入相应链表存储,最后输出每个链表的信息。 1 /*每个课程当做一个桶,桶里面用链表按学生姓名字典序存储学生,最后直接输出每个桶的内容,排序的时候使用头插法*/ 2 #include<iostream> 3 #include <map> 4 #include <cstring> 5 #include <algorithm> 6 using namespace std; 7 struct Stu 8 { 9
分类: 其他 发布时间: 05-02 21:42 阅读次数: 0