自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(50)
  • 收藏
  • 关注

原创 TumblingProcessingTimeWindows 与 timewindow

TumblingProcessingTimeWindows、timewindow

2022-07-11 23:48:50 1261 1

原创 hive中concat_ws的秘密

hive中concat_ws的秘密

2022-06-30 01:18:51 3677

原创 MyBatisPlus 学习笔记

MyBatisPlus1. 简介1.1 什么是MyBatisPlusMyBatisPlus是一个MyBatis的增强工具,在 MyBatis的基础上只做增强不做改变,为简化开发、提高效率而生。官网:https://baomidou.com/愿景我们的愿景是成为 MyBatis 最好的搭档,就像 魂斗罗 中的 1P、2P,基友搭配,效率翻倍。1.2 MyBatisPlus的特性无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑损耗小:启动即会自动注入基本 CURD,

2021-07-01 03:46:12 487 3

原创 2021-01-09 第 43 场双周赛

2021-01-09 第 43 场双周赛1716. 计算力扣银行的钱思路:模拟即可class Solution { public int totalMoney(int n) { int res = 0; for(int i = 0;i < n;i++) { int week = i / 7; int day = i % 7 + 1; res += (week+day);

2021-04-02 22:43:45 150 1

原创 2021-01-03 第 222 场周赛

2021-01-03 第 222 场周赛1710. 卡车上的最大单元数思路:贪心地选择单元数量最大的箱子装即可class Solution { public int maximumUnits(int[][] boxTypes, int truckSize) { Arrays.sort(boxTypes, (o1,o2)->(o2[1]-o1[1])); int res = 0; for(int i = 0;i < boxTypes.

2021-04-01 23:45:39 87

原创 2021-03-28 第 234 场周赛

2021-03-28 第 234 场周赛5713. 字符串中不同整数的数目思路:简单的一次遍历,用集合来存储遍历到的数字。在去除前导0这一块不能简单地将字符串转换为数字,字符串长度过长,没法转换为int或long类型的数字。class Solution { public int numDifferentIntegers(String word) { char[] s = (word+"#").toCharArray(); Set<String>

2021-03-30 11:01:55 94 1

原创 2021-01-31 第 226 场周赛

2021-01-31 第 226 场周赛1742. 盒子中小球的最大数量思路:签到题,从给定的数据范围来看,最大的数目也就4 * 9 = 36,那么只需要遍历统计即可。class Solution { public int cal(int x) { int sum = 0; while(x != 0) { sum += (x % 10); x /= 10; } return su

2021-03-27 16:32:13 66

原创 2021-02-06 第 45 场双周赛

2021-02-06 第 45 场双周赛1748. 唯一元素的和思路:签到题,统计只出现一次的数字有哪些,然后再相加即可。class Solution { public int sumOfUnique(int[] nums) { int[] vis = new int[110]; int res = 0; for(int num : nums) { vis[num]++; } f

2021-03-27 15:53:04 67

原创 2021-02-07 第 227 场周赛

2021-02-07 第 227 场周赛1752. 检查数组是否经排序和轮转得到思路:枚举起点即可class Solution { public boolean check(int[] nums) { int n = nums.length; for(int i = 0;i < n;i++) { boolean flag = true; for(int j = i+1;j < i+n;j++) {

2021-03-26 15:41:34 68

原创 2021-02-14 第 228 场周赛

2021-02-14 第 228 场周赛1758. 生成交替二进制字符串的最少操作数思路1:动态规划,dp[i][j]表示前i个字符串成为交替二进制字符串,并且最后一位为j的最少操作数,那么状态转移方程为:dp[i][0]=dp[i−1][1]+(s[i]==′0′?0:1)dp[i][0] = dp[i-1][1] + (s[i] == '0' ? 0 : 1)dp[i][0]=dp[i−1][1]+(s[i]==′0′?0:1)dp[i][1]=dp[i−1][0]+(s[i]==′1′?

2021-03-26 11:35:03 89

原创 2021-03-14 第 232 场周赛

2021-03-14 第 232 场周赛1790. 仅执行一次字符串交换能否使两个字符串相等思路:签到题,把不相等的字符分别记录,判断是否反转后一致即可。class Solution { public boolean areAlmostEqual(String s1, String s2) { int cnt = 0; StringBuffer s3 = new StringBuffer(); StringBuffer s4 = new Str

2021-03-24 23:48:58 64

原创 2021-03-20 第 48 场双周赛

2021-03-20 第 48 场双周赛1796. 字符串中第二大的数字思路:遍历模拟class Solution { public int secondHighest(String _s) { char[] s = _s.toCharArray(); int n = s.length; Set<Integer> set= new HashSet<>(); for(char ch : s) {

2021-03-23 15:16:38 93

原创 2021-03-21 第 233 场周赛

2021-03-21 第 233 场周赛1800. 最大升序子数组和思路:签到题,直接动态规划做了。class Solution { public int maxAscendingSum(int[] nums) { int n = nums.length, res = 0; int[] dp = new int[n]; for(int i = 0;i < n;i++) { dp[i] = nums[i];

2021-03-22 15:25:08 71

原创 2021-02-20 第 46 场双周赛

2021-02-20 第 46 场双周赛1763. 最长的美好子字符串思路:毕竟是签到题,数据量还是太小了,直接就暴力做了。枚举每一个子字符串,然后判断是否是美好子字符串即可。class Solution { public boolean judge(char[] s) { int[] cntA = new int[26]; int[] cntB = new int[26]; for(int i = 0;i < s.length;i+

2021-03-20 16:00:07 99

原创 2021-02-21 第 229 场周赛

2021-02-21 第 229 场周赛1768. 交替合并字符串思路:简单的模拟题class Solution { public String mergeAlternately(String word1, String word2) { StringBuffer res = new StringBuffer(); int n1 = word1.length(), n2 = word2.length(); for(int i = 0;i &lt

2021-03-19 20:57:29 65

原创 2021-02-28 第 230 场周赛

2021-02-28 第 230 场周赛1773. 统计匹配检索规则的物品数量思路:签到题class Solution { public int keyToIndex(String ruleKey) { if("type".equals(ruleKey)) { return 0; } else if("color".equals(ruleKey)) { return 1; } else {

2021-03-14 19:39:42 80

原创 2021-03-06 第 47 场双周赛

1779. 找到最近的有相同 X 或 Y 坐标的点思路:签到模拟题class Solution { public int cal(int x1,int y1, int x2, int y2) { return Math.abs(x1-x2) + Math.abs(y1-y2); } public int nearestValidPoint(int x, int y, int[][] points) { int mx = Integer.MAX

2021-03-13 11:49:23 109

原创 2021-03-07 第 231 场周赛

2021-03-07 第 231 场周赛1784. 检查二进制字符串字段思路:模拟题,只需要判断1是否连续出现即可class Solution { public boolean checkOnesSegment(String _s) { char[] s = _s.toCharArray(); int last = -1,cnt = 0; for(int i = 0;i < s.length;i++) { if(s

2021-03-12 14:53:42 95

原创 学习法 笔记

1. 理科思维 3个步骤学会拆分问题,找到最优解1.1 什么是理科思维理科思维可以简单理解为中学时候的理科生思考问题的方式。就是在解决一个问题的时候,从各个角度去思考,最后总结出最优解并执行的过程。1.2 如何有逻辑的分析与处理问题我们可以从两个方面来进行问题的分析:横向和纵向。纵向也就是深度,把问题拆分成各个小问题,将复杂的问题简单化。然后对问题的重要性进行排序,优先解决最重要的问题。横向则是广度,也就是解决问题的多个方法。需要我们收集信息,开拓思维,才能想出解决问题的多个方案。综合以上两个

2021-02-22 10:49:22 341 1

原创 2021-01-23 第 44 场双周赛

1732. 找到最高海拔思路:就是个签到题,当前高度 = 前面的高度 + gain[i],维护最大值即可。class Solution { public int largestAltitude(int[] gain) { int res = 0, cur = 0; for(int g : gain) { cur += g; res = Math.max(res, cur); } .

2021-01-29 07:29:39 141

原创 2021-01-24 第 225 场周赛

2021-01-24 第 225 场周赛1736. 替换隐藏数字得到的最晚时间思路:只需要枚举时间,然后看是否匹配,匹配的时间里面取最大的就可以了。class Solution { public boolean check(char[] a, char[] b) { for(int i = 0;i < a.length;i++) { if(a[i] == '?' || a[i] == ':') continue; el

2021-01-28 07:03:02 146

原创 2020-12-27 第 221 场周赛

2020-12-27 第 221 场周赛5637. 判断字符串的两半是否相似思路:简单的签到题,把字符串拆开成两半,然后前后分别统计元音字符,判断个数是否相等即可class Solution { public boolean check(char ch) { if(ch == 'a' || ch == 'A') return true; else if(ch == 'e' || ch == 'E') return true; els

2020-12-27 12:50:40 91

原创 力扣 2020-12-20 第 220 场周赛思路

2020-12-20 第 220 场周赛5629. 重新格式化电话号码思路:非常简单的模拟题,先把数字给取出来,然后三个三个拼接,最后只剩四维的时候在分别讨论即可。class Solution { public String reformatNumber(String number) { StringBuffer res = new StringBuffer(); StringBuffer s = new StringBuffer(); f

2020-12-20 13:36:21 128

转载 如何做个好员工

一、有"同理心"       什么叫"同理心"?       说复杂点儿,同理心就是站在当事人的角度和位置上,客观地理解当事人的内心感受,且把这种理解传达给当事人的一种沟通交流方式。       说简单点儿,同理心就是“己所不欲,勿施于人”。将心比心,也就是设身处地去感受、去体谅他人。       说白了,同理心就是“情商”。 

2020-12-19 17:24:27 78 1

原创 JAVA MySQL数据库 笔记

MySQL数据库1. 初始MySQL1.1 为什么学习数据库岗位技能需求现在的世界,得数据者得天下网站中数据存储的地方数据库是几乎软件体系中最核心的一个存在。1.2 什么是数据库数据库 ( DataBase , 简称DB ),是长期存放在计算机内,有组织,可共享的大量数据的集合,是一个数据 “仓库”。它可以安全管理数据,如:增删改查,减少冗余等。1.3 数据库分类1.3.1 关系型数据库(Sql)MySQL , Oracle , SQL Server , SQLite……关系

2020-12-09 21:33:38 987

原创 运维 Git 笔记

Git1. 版本控制1.1 什么是版本控制版本控制(Revision control)是一种在开发的过程中用于管理我们对文件、目录或工程等内容的修改历史,方便查看更改历史记录,备份以便恢复以前的版本的软件工程技术。简单说就是用于管理多人协同开发项目的技术,多人开发就必须要使用版本控制!没有进行版本控制或者版本控制本身缺乏正确的流程管理,在软件开发过程中将会引入很多问题,如软件代码的一致性、软件内容的冗余、软件过程的事物性、软件开发过程中的并发性、软件源代码的安全性,以及软件的整合等问题。无论是工

2020-12-02 18:55:39 246

原创 前端 JavaScript 笔记

JavaScript1. 前端知识体系1.1 前端三要素HTML(结构):超文本标记语言(Hyper Text Markup Language),决定网页的结构和内容CSS(表现):层叠样式表(Cascading Style Sheets),设定网页的表现样式。JavaScript(行为):是一种弱类型脚本语言,其源码不需经过编译,而是由浏览器解释运行,用于控制网页的行为1.2 结构层——HTML略1.3 表现层——CSSCSS层叠样式表是一门标记语言,并不是编程语言,因此不可以自定义

2020-12-01 21:08:58 645

原创 前端 CSS 笔记

CSS1. 什么是CSS1.1 概念CSS,层叠样式表(英文全称:Cascading Style Sheets),是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。CSS不仅可以静态地修饰网页,还可以配合各种脚本语言动态地对网页各元素进行格式化。1.2 发展史CSS1.0:CSS2.0:DIV(块)+ CSS,HTML与CSS结构分离的思想,网页变得简单,SEO(搜索引擎优化)CSS2.1:浮动定位CSS3.0:

2020-11-26 00:04:58 243

原创 前端 HTML 笔记

HTML1. 初始HTMLHTML:Hyper Text Markup Language 超文本标记语言W3C:World Wide Web Consortium 万维网联盟,W3C标准包括结构化标准语言(HTML、XML)表现标准语言(CSS)行为标准(DOM、ECMAScript)2. 网页基本信息标签作用DOCTYPE告诉浏览器使用什么规范(默认是html)head网页头部meta描述性标签,用来描述网站的一些信息,一般用来做SEO(搜索

2020-11-23 12:02:26 100

原创 JAVA 注解与反射 笔记

注解与反射1. 什么是注解(Annotation)Annotation是从JDK5.0开始引入的新技术Annotation的作用:可以对程序作出解释,这一点和注释comment类似对程序进行检查和约束,例如@Override可以被其他程序(比如:编译器等)读取@Override //重写注解,若是重写的方法名写错会出现警告@Deprecated //不推荐使用注解,可以使用但是又风险或者有更好的方式@SuppressWarnings //取消所有警告Annotation的格

2020-11-19 22:00:40 122 1

原创 JAVA 多线程 笔记

Java 多线程1.0 概念程序:指令和数据的有序集合,其本身没有任何运行的含义,是一个静态的概念。进程:是执行程序的一次执行过程,是一个动态的概念。是系统资源分配的单位。一个进程可以包含有多个线程,但是至少有一个线程,否则无存在的意义。线程:是CPU调度和执行的基本单位。总结1.1 线程创建的三种方式继承Thread类public class TestThread1 extends Thread{ @Override public void run() {

2020-11-19 00:17:56 91

原创 JAVA 网络编程 笔记

网络编程1.1 概述网络编程需要什么:准确的定位网络上的一台主机的ip地址和端口号,定位到这个计算机上的某个资源找到了这个主机,如何传输数据Java web: 网页编程 B/S网络编程:TCP/IP C/S1.2 网络通信的要素网络编程中有两个主要的问题如何准确的定位到网络上的一台或多台主机找到主机之后如何进行通信网络编程中的要素IP和端口号通信协议:TCP UDP万物皆对象1.3 IPIP地址:InetAddress唯一定位一台网络

2020-11-15 20:44:14 95

原创 MarkDown使用 (狂神版本)

MarkDown学习标题标题: # 标题名字 (记住有空格,敲完后回车)二级标题:## 二级标题三级标题:### 三级标题字体Hello World! 前后两个星号表示加粗Hello World! 前后一个星号表示斜体Hello World! 前后三个星号表示斜体加粗Hello World! 前后两个波浪号表示斜体加粗引用学JAVA,找狂神 (大于号空格+回车)分割线(三个星号,三个减号)图片超链接点击跳转到百度([] + ())列表AB减号+空格

2020-11-08 19:57:38 168

原创 1033. 移动石子直到连续

题目三枚石子放置在数轴上,位置分别为 a,b,c。每一回合,我们假设这三枚石子当前分别位于位置 x, y, z 且 x < y < z。从位置 x 或者是位置 z 拿起一枚石子,并将该石子移动到某一整数位置 k 处,其中 x < k < z 且 k != y。当你无法进行任何移动时,即,这些石子的位置连续时,游戏结束。要使游戏结束,你可以执行的最小和最大移动次数分别...

2019-05-05 15:55:52 180

原创 LeetCode第五题:Longest Palindromic Substring(c++)详解

5. 最长回文子串给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。示例 1:输入: “babad”输出: “bab”注意: “aba” 也是一个有效答案。示例 2:输入: “cbbd”输出: “bb”思路:中心对称法则选定中心点,往两边进行拓展即可代码class Solution {public: string longes...

2019-05-02 20:41:01 139

原创 UVa 10129 单词(DFS判断连通性)

题意:输入N个单词,N &amp;amp;lt; 100000,是否可以把所有这些单词排成一列,使得每个单词的第一个字母和最后一个字母相同。每个单词最多有1000个字母,输入可能有重复的单词。思路:1、把字母当成结点,单词看做有向边,问题有解当且仅当图中存在欧拉回路。有向图判断存在欧拉回路的条件有两个:(1)把图看做无向图,图是连通的(DFS访问,若存在未访问的,则是不连通的) ;(2)最多有两个点入度不等于...

2018-10-05 20:26:52 183

原创 UVa1597 在Web中搜索

思路:感觉像是一道模拟题,把每行句子记录,然后把单词提取出来,存入Set里面。找的时候只需要找哪一段存在或者不存在这个单词,然后再逐行进行判断输出即可。AC代码:#include&amp;lt;cstdio&amp;gt;#include&amp;lt;cstring&amp;gt;#include&amp;lt;string&amp;gt;#include&amp;lt;iostream&amp;gt;#include

2018-09-18 12:22:39 397

原创 UVa 1596 找bug

思路:看了别人的代码写的,使用的是map。一个map&amp;lt;char,int&amp;gt; Size用来记录每个数组的大小,另一个map&amp;lt;int,int&amp;gt; Value[200]用来记录初始化情况。然后对于递归来说,就是不断的前进两个字符,直到读到数字的时候返回,并对数值大小和初始化进行判断。AC代码:#include&amp;lt;cstdio&amp;gt;#include&amp;lt;cstring&a

2018-09-17 21:37:06 182

原创 UVa1592 数据库

这是一道完完全全的教学题,有太多的东西可以从中学习,还有不少的细节处理。看了大神的代码才会做,还败在了不少细节上。。。学到的东西如下:1、数据的读入是用逗号分隔开的,在用了一段时间的cin之后,竟忘了怎样去处理这种用逗号分隔开的字符串,用法可以是getline(cin,temp),这样读取一行字符串。果然有了飞机大炮后,就忘记了小米加步枪怎样使用了。2、 C++中还有把两个数据看做一个...

2018-09-04 17:02:41 280

原创 UVa 400 Unix ls 命令

大致题意:输入正整数N以及N个文件名,排序后左对齐输出。假设最长文件名为M,则最右列有M个字符,其他列都是M+2个字符。每行的总字符不超过60个,尽量用少一点的行将其输出。关键就是读懂题意了吧,知道了规则后,假设一共有X列,则(X-1)(M+2)+ M ≤ 60,很容易求出X = (60 - M)/(M + 2)+ 1。这时候,就该求行数了。因为文件总数N不一定能整除列数X,因此需要对N/X进...

2018-09-03 16:48:03 111

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除