- 博客(321)
- 收藏
- 关注

原创 Redis集群部署(三主三从)
Redis集群部署规划服务器角色IP服务端口(默认6379)u1master1/slave2172.17.0.37000/7001u2master2/slave3172.17.0.47000/7001u3master3/slave1172.17.0.57000/70011 三台互通的ubuntu:20.04# 我这里在云服务器上用docker创建了3个容器docker run -itd --name u1 ubuntu:20.04do
2021-11-01 22:28:18
445

原创 数学问题总结
给出三点求外接圆圆心、半径double a = ((y2 - y1) * (y3 * y3 - y1 * y1 + x3 * x3 - x1 * x1) - (y3 - y1) * (y2 * y2 - y1 * y1 + x2 * x2 - x1 * x1)) / (2.0 * ((x3 - x1) * (y2 - y1) - (x2 - x1) * (y3 - y1)));double b...
2020-01-19 16:46:07
288

原创 网络流详解
何谓网络流在图论中,网络流(英语:Network flow)是指在一个每条边都有容量(Capacity)的有向图分配流,使一条边的流量不会超过它的容量。通常在运筹学中,有向图称为网络。顶点称为节点(Node)而边称为弧(Arc)。一道流必须符合一个结点的进出的流量相同的限制,除非这是一个源点(Source)──有较多向外的流,或是一个汇点(Sink)──有较多向内的流。一个网络可以用来模拟道路系...
2019-12-18 19:00:27
2656

原创 动态规划DP【持续更新】
动态规划 动态规划(英语:Dynamic programming,简称DP)是一种在数学、管理科学、计算机科学、经济学和生物信息学中使用的,通过把原问题分解为相对简单的子问题的方式求解复杂问题的方法。 动态规划常常适用于有重叠子问题和最优子结构性质的问题,动态规划方法所耗时间往往远少于朴素解法。 动态规划背后的基本思想非常简单。大致上,若要解一个给定问题,我们需要解其不同部分(即子问题...
2019-11-24 23:57:32
665
原创 Docker 端口映射
将容器内7000端口映射到外部17000端口未创建容器IP:HOSTPORT:CONTAINERPORT:指定ip、指定宿主机port、指定容器portIP::CONTAINERPORT:指定ip、未指定宿主机port(随机)、指定容器portHOSTPORT:CONTAINERPORT:未指定ip、指定宿主机port、指定容器portdocker run -it -d --name u4 -p 17000:7000 ubuntu:20.04已运行容器进入目录c.
2021-11-02 16:20:36
297
原创 Leetcode719.找出第k小的距离对【二分 & 双指针】
AC-Codeclass Solution {public: int smallestDistancePair(vector<int>& nums, int k) { sort(nums.begin(), nums.end()); auto check = [&](int mid) -> bool { // 是否有至少k组,差值<=mid int cnt = 0, j = 1; ..
2021-09-17 19:57:11
217
原创 剑指 Offer 38. 字符串的排列
AC-Codeclass Solution {private: bool nextPermutation(string& s) { // 首先从后向前查找第一个顺序对 (i,i+1),满足 a[i] < a[i+1]。这样「较小数」即为 a[i]。此时 [i+1,n) 必然是下降序列。 int i = s.size() - 2; while (i >= 0 && s[i] >= s[i + 1]) { .
2021-09-07 15:17:57
283
原创 n个数,入栈出栈,所有情况
int count = 0;void print(vector<int>& trace, vector<int>& push_order) { int i = 0; stack<int>stk; for (auto n : trace) { if (n == 1) { stk.push(push_order[i++]); } else { int num = stk.top(); stk.pop(); cout
2021-08-11 12:58:05
480
原创 车间调度 遗传算法
直接运行即可。算法模块在服务器部署。import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.io.PrintWriter;import java.net.InetSocketAddress;import java.net.Socket;import java.net.SocketAddress;import java.util.Scanner;
2021-06-24 12:42:13
553
1
原创 hibernate_已有项目改为hibernate & 函数式编程 + lambda
hibernate配置链接项目目录:dao中为数据库接口Pojo中为实体类和配置文件更改内容:配置hibernate.cfg.xmllog4j2.xml在实体类添加相应的*.hbm.xml配置文件更改Dao中接口实现在HibernateUtil中增添method接口,使用函数式编程+lamdba压缩代码Student:Teacher:HibernateUtil:StudentDao(TeacherDao同理):函数式编程极大减少了代码冗余通过将之前的完整项目
2021-06-16 22:46:07
265
原创 C++A Text-Query Program Design(文本查询程序设计)
#include <iostream>#include <cstdio>#include <string>#include <vector>#include <list>#include <map>#include <set>#include <algorithm>#include <fstream>#include <sstream>#include <iter
2021-06-12 23:02:19
384
2
原创 hibernate_分页查询
@Test public void test() { SessionFactory sf = null; Session session = null; Transaction ts = null; try { sf = HibernateUtil.getSessionFactory(); session = sf.getCurrentSession(); ts..
2021-06-01 09:38:19
224
1
原创 Java重写equals、hashcode
配置Hibernate重写equals、hashcodepublic class User { private int id; private String name; private String gender; private int age; private Date birthday; @Override public boolean equals(Object o) { if (this == o) return tr
2021-05-25 11:00:20
363
1
原创 LeetCode——10.正则表达式匹配(困难)【DP】
题解定义dp[i][j]:s[0,i−1]和p[0,j−1]是否匹配dp[i][j]:s[0,i-1]和p[0,j-1]是否匹配dp[i][j]:s[0,i−1]和p[0,j−1]是否匹配初值dp[0][0]=truedp[0][0]=truedp[0][0]=true只需要注意∗*∗的判断不匹配的时候dp[i][j]=dp[i][j−2]dp[i][j]=dp[i][j-2]dp[i][j]=dp[i][j−2],把∗*∗和∗*∗之前的字符拿掉,看是否匹配匹配的时候,由于可能匹配很多个,然..
2021-05-22 13:11:02
290
1
原创 LeetCode——25.K 个一组翻转链表(困难)
题解搞个头节点,直接每k个翻转即可AC-Code/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode() : val(0), next(nullptr) {} * ListNode(int x) : val(x), next(nullptr) {} * ListNode(int x, List..
2021-05-22 12:53:00
182
原创 QT_信号与槽
使用创建一个信号和一个槽函数注意:两个参数需要一致,并且信号只写参数类型实现槽函数,在某个位置发送信号绑定信号和槽函数,程序才知道如何对应启动程序,查看结果
2021-05-11 11:45:34
173
原创 最长上升子序列【nlogn+路径输出】
#include <iostream>#include <algorithm>#include <functional>#include <string.h>using namespace std;typedef long long ll;const int maxn = 1e5 + 7;int dp[maxn];int pos[maxn]; // 记录每个数在dp数组里出现的位置。唯一int ans[maxn];int arr[max
2021-05-09 14:41:43
554
原创 HDU 5925——Coconuts【离散化 + 求连通块】(2016 东北赛D题)
Problem DescriptionTanBig, a friend of Mr. Frog, likes eating very much, so he always has dreams about eating. One day, TanBig dreams of a field of coconuts, and the field looks like a large chessboard which has R rows and C columns. In every cell of the
2021-05-09 14:37:49
330
原创 hibernate配置【IDEA】
下载所需资源在官网下载hibernate链接:http://hibernate.org/orm/下载log4j2链接:http://logging.apache.org/log4j/2.x/download.html配置项目引入jar包【hibernate、jdbc、log4j】按照同样方法引入jdbc、log4j在src目录下创建hibernate.cfg.xml填写如下内容头部可在hibernate-core的jar包下,org.hibernate中
2021-05-08 14:09:42
921
3
原创 HDU 1875——畅通工程再续【最小生成树 && Prime堆优化】
Problem Description相信大家都听说一个“百岛湖”的地方吧,百岛湖的居民生活在不同的小岛中,当他们想去其他的小岛时都要通过划小船来实现。现在政府决定大力发展百岛湖,发展首先要解决的问题当然是交通问题,政府决定实现百岛湖的全畅通!经过考察小组RPRush对百岛湖的情况充分了解后,决定在符合条件的小岛间建上桥,所谓符合条件,就是2个小岛之间的距离不能小于10米,也不能大于1000米。当然,为了节省资金,只要求实现任意2个小岛之间有路通即可。其中桥的价格为 100元/米。Input输入包括
2021-04-29 20:18:43
186
原创 AS构建Empty Android Things程序运行闪退
解决办法application必须有theme标签更换使用AppTheme代码,默认生成的ThemeApp是导致错误的原因
2021-04-28 15:46:13
180
原创 《第一行代码》接收不到广播等问题
1.高版本,用户发送自定义广播,接收不到信息android在8.0之后自定义广播的发送有了新的要求,静态注册的广播需要增添一行代码。动态注册的广播,广播接收者的注册与广播的发送则和以前一样2.系统广播接收不到一些特殊的广播,必须动态注册,静态注册是不起效果的类似,屏幕的锁屏和开屏IntentFilter recevierFilter = new IntentFilter();recevierFilter.addAction(Intent.ACTION_SCREEN_ON);rec
2020-10-19 14:45:16
606
原创 《第一行代码》Android主题设置为@android:style/Theme.Dialog报错解决办法
解决方案用@android:style/Theme.Dialog的话必须把对应的JAVA程序继承的 AppCompatActivity改为Activity如果使用@style/Theme.AppCompat.Dialog的话就不用改原因eclipse的MainActivity.java继承的是Activity类,而android studio中Main继承的是AppCompatActivity...
2020-10-08 16:31:40
841
原创 深入理解计算机系统——信息的表示和处理
寻址和字节顺序 在几乎所有的机器上,多字节对象被存储为连续的字节序列,对象的地址为所使用字节中最小的地址。比如,类型为 intintint 的变量 xxx 的地址为 0x1000x1000x100,即在 CCC 中地址表达式 &x\&x&x 的值为 0x1000x1000x100,那么 xxx 的4个字节将会被存储在内存的 0x100、0x101、0x102、0x1030x100、0x101、0x102、0x1030x100、0x101、0x102、0x1
2020-10-07 19:52:33
513
原创 Android Studio真机测试:The application could not be installed: INSTALL_FAILED_TEST_ONLY 解决方案
在 gradle.propertiesgradle.propertiesgradle.properties 中添加android.injected.testOnly=false
2020-10-06 15:08:36
749
原创 蓝桥杯 试题 算法训练——猴子吃包子
题解后台数据只有两位小数。。。记录一下格式化写法AC-Code//#include <bits/stdc++.h>#include <iostream>#include <vector>#include <algorithm>#include <queue>#include <string.h>#include <iomanip>using namespace std;typedef lon..
2020-10-05 15:22:37
406
原创 CCPC-2020 黑龙江省赛——1012.Let’s Get Married
题意在二维平面中,坐标原点是 000,从原点开始,按照 上、右、左、下上、右、左、下上、右、左、下 的顺序进行 bfsbfsbfs,每个位置的值依次递增。定义两种操作:1 id : 输出平面中值为id的坐标(相对于上一次操作的坐标)2 x y : 输出此坐标(相对于原点(0,0))的值题解按照 BFSBFSBFS 序动手画一下就看得出来规律了其实还是蛮简单的数字是每一层填满了再进入下一层每一层的最大数是在当前层最左端的数字每一层的填充规律为:从最上面..
2020-09-28 15:57:18
1719
3
原创 LeetCode——189.旋转数组
题解AC-Codeclass Solution {public: void rotate(vector<int>& nums, int k) { k = k % nums.size(); // 数据预处理优化 int count = 0; // n个人需要轮换n次 int next, prenum, tmp; for(int start = 0; count < nums.size(); ..
2020-09-22 20:24:02
234
原创 LeetCode——88.合并两个有序数组
题解双(尾)指针AC-Codeclass Solution {public: void merge(vector<int>& nums1, int m, vector<int>& nums2, int n) { int tail = n + m - 1; int tail1 = m - 1; int tail2 = n - 1; while(tail2 >= 0) { ..
2020-09-19 22:28:28
212
原创 LeetCode——240.搜索二维矩阵
题解从左下(右上同理可行)开始搜索,如果大于目标,则说明当前行往下都是大于目标的,那么row-1。如果当前小于目标,则说明当前列往左都是小于目标的。这样类似于曼哈顿距离的逼近,直到找到目标或者出界。时间复杂度:O(n+m)O(n+m)O(n+m)。时间复杂度分析的关键是注意到在每次迭代(我们不返回 true)时,行或列都会精确地递减/递增一次。由于行只能减少 mmm 次,而列只能增加 nnn 次,因此在导致 while 循环终止之前,循环不能运行超过 n+mn+mn+m 次。因为所有..
2020-09-19 21:51:10
425
原创 LeetCode——169.多数元素【Boyer-Moore 投票算法】
题解投票算法证明:如果候选人不是maj 则 maj,会和其他非候选人一起反对 会反对候选人,所以候选人一定会下台(maj==0时发生换届选举)如果候选人是maj , 则maj 会支持自己,其他候选人会反对,同样因为maj 票数超过一半,所以maj 一定会成功当选AC-Codeclass Solution {public: int majorityElement(vector<int>& nums) { int candidate ..
2020-09-19 21:24:52
205
原创 LeetCode——405.数字转换为十六进制数
题解表面是10进制转换为16进制,实际上可以直接使用计算机存储的2进制形式转换为16进制2进制 → 16进制,就是4位合并。对于负数,仍然是4位合并。但是负数补码存储。进行算数右移操作时,左补1,所以对于负数,算数右移操作永远都不会是0,需要控制位数。32位2进制变成16进制,是8位.AC-Codeclass Solution {public: string toHex(int num) { if (num == 0) return "0"; ..
2020-09-19 17:42:15
1390
原创 LeetCode——404.左叶子之和
题解判断:①当前节点的左节点;②做儿子是叶子。AC-Code/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Solution {publ...
2020-09-19 17:19:10
235
原创 C/C++函数重载
为什么C语言不支持函数重载编译器在编译.c文件时,只会给函数进行简单的命名。具体方法是:给函数名之前加上 “_”所以两个函数名相同的函数在编译之后的函数名也相同C++中函数重载底层是如何处理的在.cpp文件中,虽然函数名一样,但是他们在符号表中生成的名称不一样?表示名称开始?后面是函数名@@YA表示参数表开始后面的字符分别表示:返回值类型、参数1类型、参数2类型…@Z表示名称结束由于在.cpp文件中,两个函数生成的符号表中名称不一样,所以可以编译通过。C++中是否能将
2020-07-17 13:37:24
467
原创 C++虚函数表地址偏移
#include <bits/stdc++.h>using namespace std;class Base {public: Base() { cout << "Base构造" << endl; } virtual ~Base() { cout << "Base虚析构" << endl; } virtual void f1() { cout << "Base::f1()" << endl;
2020-07-17 00:27:25
1347
1
原创 C/C++ 获取函数地址
CC语言中没有类的概念,只有普通的函数。通过函数名就可以得到函数地址#include <stdio.h>#include <stdlib.h>void fun() { }int main() { printf("%p\n", &fun);}对于 fun 和 &fun 应该这样理解:fun 是函数的首地址,它的类型是 void ()&fun 表示一个指向函数 fun 这个对象的地址, 它的类型是 void (*)()
2020-07-17 00:11:19
14205
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人