- 博客(811)
- 资源 (5)
- 收藏
- 关注
原创 LeetCode 313. 超级丑数(优先队列)
class Solution {public: int nthSuperUglyNumber(int n, vector<int> &primes) { priority_queue<long long, vector<long long>, greater<long long>> buff; unordered_set<long long> primeset; buff.
2022-09-13 00:54:42
152
原创 AcWing 797. 差分
接下来输入m个操作,每个操作包含三个整数l,r,c,表示将序列中[l,r]之间的每个数加上c。输入一个长度为n的整数序列。请你输出进行完所有操作后的序列。
2022-07-26 23:46:56
131
原创 Linux命令拾遗
netstat命令用于显示各种网络相关信息,netstat -anp | grep ...lsof替代了netstat和ps的全部工作lsof -i:61616 # 61616 是端口号解压 .tar.gz 文件,解压从官网下载的安装包。tar -xzvf etc.tar.gztar -xzvf etc.tar.gz -C /xxxlinux中>/dev/null 2>&1和2>&1 > /dev/null nohup sh seata-
2022-05-02 21:39:18
682
原创 山东大学软件学院WEB开发公共环境项目综述
WEB开发公共环境目标给WEB开发做Docker镜像,用K8s搭建和管理集群,公用的Web和DB服务,能够分配系统和DB帐号,在统一的环境里面开发技术要点Docker、Kubernetes、Go、Java、Python、JavaScript团队名政哥哥的小码农团队成员&博客地址黄美媚:https://blog.youkuaiyun.com/Lollo_HA?spm=1008.2028.3001.5343涛哥:https://blog.youkuaiyun.com/wocaizhale?spm=1000.2
2022-04-13 14:47:41
224
原创 Apache Commons-pool2使用入门
2021SC@SDUSC文章目录安装项目介绍Maven 依赖接口设计ObjectPoolPooledObjectPooledObjectFactory常用的实现类GenericObjectPool`borrowObject``returnObject`DefaultPooledObject使用介绍参考链接安装项目介绍创建新的对象并初始化的操作,可能会消耗很多的时间。在这种对象的初始化工作包含了一些费时的操作(例如,从一台位于20,000千米以外的主机上读出一些数据)的时候,尤其是这样。在需要大量生
2021-12-29 00:05:46
2637
原创 高可靠性的消息队列 —— RabbitMQ
2021SC@SDUSC文章目录前言生产者发布消息不丢失事务机制发送方确认机制MQ服务器存储消息不丢失消费者消费消息不丢失关于ACKRabbitMQ的ClientSpring AMQPAck的相关apideliveryTag(交付标签)确认(ack)方法拒绝(rejecj、nack)方法业务上实现投递失败的消息如何处理消费的幂等性如何做到消息中间件实现分布式事务参考SDU-PTA项目和判题机之间的通讯使用到了 RabbitMQ,因此对于消息中间件的可靠性有一定要求。本文细述了消息的可靠性如何做到。
2021-12-28 01:28:51
1258
原创 SDU-PTA项目中JWT的使用
2021SC@SDUSC文章目录用户的认证方式传统的session认证基于session认证所显露的问题基于token的鉴权机制JWT什么是JWT及原理JWT的构成HeaderPayloadSignatureJWT的几个特点基于jjwt使用JWTJWT的使用方式前端前端储存JWT请求携带JWT前端提取JWT携带的信息后端(SpringBoot)参考链接在一个web项目中总需要考虑的一个问题就是如何认证用户的身份。用户的认证方式传统的session认证互联网服务离不开用户认证。一般流程是下面这样
2021-12-27 23:54:21
744
原创 Java使用 jsch 连接FTP服务器操作文件
2021SC@SDUSC本文主要在sdu-pta项目中如何使用 jsch 去连接 SFTP服务器,并访问、下载、上传文件。
2021-12-26 23:19:34
1991
2
原创 Ubuntu 配置 SFTP 服务器
2021SC@SDUSC因为本次项目使用了安全FTP服务器作为文件的存储、组织、管理工具,所以有必要介绍一下在linux环境下搭建SFTP服务的整体流程。文章目录安装SFTP服务目标操作步骤sftp用户、用户组的创建创建文件服务器目录权限配置重启SSH安装SFTP服务sftp是Secure File Transfer Protocol的缩写,安全文件传送协议。可以为传输文件提供一种安全的网络的加密方法。sftp 与 ftp 有着几乎一样的语法和功能。SFTP 为 SSH的其中一部分,是一种传输
2021-12-19 20:45:06
16782
原创 Unix/Linux 命令/函数 后面括号中数字的意思
Linux下最通用的领域及其名称及说明如下:领域 名称 说明1 用户命令, 可由任何人启动的。2 系统调用, 即由内核提供的函数。3 例程, 即库函数。4 设备, 即/dev目录下的特殊文件。5 文件格式描述, 例如/etc/passwd。6 游戏, 不用解释啦!7 杂项, 例如宏命令包、惯例等。8 系统管理员工具, 只能由root启动。9 其他(Linux特定的), 用来存放内核例行程序的文档。n 新文档, 可能要移到更适合的领域。o 老文档, 可能会在一段期限内保留。l 本地文
2021-12-06 16:16:51
325
原创 LeetCode 剑指 Offer 36. 二叉搜索树与双向链表
二叉搜索树与双向链表/*// Definition for a Node.class Node {public: int val; Node* left; Node* right; Node() {} Node(int _val) { val = _val; left = NULL; right = NULL; } Node(int _val, Node* _left, Node* _rig
2021-12-03 14:28:37
86
原创 剑指 Offer 37. 序列化二叉树(层次遍历)
[剑指 Offer 37. 序列化二叉树](剑指 Offer 37. 序列化二叉树)/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */public class Codec { // Encodes a
2021-12-02 23:33:55
970
原创 LeetCode 10. 正则表达式匹配(双串dp)
10. 正则表达式匹配class Solution {public: bool f[30][40] = {0}; bool isMatch(string s, string p) { int m = s.size(), n = p.size(); s = " " + s; p = " " + p; f[0][0] = 1; auto ok = [&](int i, int j) {
2021-12-02 22:44:08
197
原创 剑指 Offer 67. 把字符串转换成整数 (字符串模拟)
剑指 Offer 67. 把字符串转换成整数class Solution {public: int strToInt(string str) { int nega = 1; long long res = 0; int n = str.size(), i = 0; while(i < n && str[i] == ' ') ++i; if(i == n) return 0; if
2021-12-01 23:52:47
82
原创 剑指 Offer 62. 圆圈中最后剩下的数字(约瑟夫环)
剑指 Offer 62. 圆圈中最后剩下的数字class Solution {public: int lastRemaining(int n, int m) { int idx = 0; for(int len = 2; len <= n; len++) { // (m ---> 0, m + idx ---> idx) 模len意义下 // aka. old_idx = (new_idx + m
2021-12-01 20:53:48
95
原创 剑指 Offer 58 - I. 翻转单词顺序(简单字符串)
class Solution { public String reverseWords(String s) { String[] strs = s.trim().split(" "); // 删除首尾空格,分割字符串 StringBuilder res = new StringBuilder(); for(int i = strs.length - 1; i >= 0; i--) { // 倒序遍历单词列表 if(strs
2021-12-01 20:20:13
76
原创 剑指 Offer 65. 不用加减乘除做加法(位运算)
剑指 Offer 65. 不用加减乘除做加法class Solution { public int add(int a, int b) { // 理论知识 int sum = 0; int C = 0, S; // C表示临时进位,S表示临时结果 int X, Y; for (int i = 0; i < 32; ++i) { X = a & 1; Y =
2021-12-01 20:04:48
95
原创 剑指 Offer 66. 构建乘积数组(“前缀和”+“后缀和”)
class Solution {public: vector<int> constructArr(vector<int>& a) { int n = a.size(); vector<int> pre(n), post(n); for(int i = 0; i < n; i++) { pre[i] = (i > 0 ? pre[i - 1] : 1)* a[i];
2021-12-01 19:55:25
107
原创 剑指 Offer 60. n个骰子的点数(动态规划)
剑指 Offer 60. n个骰子的点数class Solution {public: vector<double> dicesProbability(int n) { vector<double> dp(6, 1.0 / 6.0); for (int i = 2; i <= n; i++) { vector<double> tmp(5 * i + 1, 0); for (i
2021-12-01 19:49:44
103
原创 剑指 Offer 30. 包含min函数的栈(单调栈)
剑指 Offer 30. 包含min函数的栈class MinStack { /** initialize your data structure here. */ Deque<Integer> st = new ArrayDeque<Integer>(), min = new ArrayDeque<Integer>(); public MinStack() { } public void push(int
2021-12-01 18:26:29
741
原创 剑指 Offer 39. 数组中出现次数超过一半的数字(选举算法)
class Solution {public: int majorityElement(vector<int>& nums) { int leader, cnt = 0; for(int i = 0; i < nums.size(); i++) { if(cnt == 0) { cnt = 1; leader = nums[i];
2021-12-01 17:32:32
278
原创 剑指 Offer 56 - I. 数组中数字出现的次数 (分组异或)
先对所有数字进行一次异或,得到两个出现一次的数字的异或值。在异或结果中找到任意为 11 的位。根据这一位对所有的数字进行分组。在每个组内进行异或操作,得到两个数字。class Solution {public: vector<int> singleNumbers(vector<int>& nums) { int res = 0; for(int x : nums) { res ^= x; .
2021-12-01 17:28:10
85
原创 剑指 Offer 56 - II. 数组中数字出现的次数 II(位运算)
class Solution {public: int singleNumber(vector<int>& nums) { int cnt[32] = {0}; for(int x : nums) { for(int i = 0; i < 32; i++) { cnt[i] += (x >> i) & 1; } }
2021-12-01 17:18:01
90
原创 剑指 Offer 57 - II. 和为s的连续正数序列(滑动窗口)
剑指 Offer 57 - II. 和为s的连续正数序列(滑动窗口)class Solution {public: vector<vector<int>> findContinuousSequence(int target) { vector<vector<int>>vec; vector<int> res; for (int l = 1, r = 2; l < r;){
2021-12-01 17:10:50
87
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人