- 博客(14)
- 收藏
- 关注
转载 SQL中的Join和Where的区别
一.sql语句中left join、inner join中的on与where的区别0.各种join操作的概念和作用 left join :左连接,返回左表中所有的记录以及右表中连接字段相等的记录。right join :右连接,返回右表中所有的记录以及左表中连接字段相等的记录。inner join: 内连接,又叫等值连接,只返回两个表中连接字段相等的行。full join:外连接,返回两个表中的行:left join + right join。cross join:结果是笛卡尔积,就是第一个表
2021-07-12 17:10:55 7250
原创 合并若干三元组以形成目标三元组
合并若干三元组以形成目标三元组题目要求合并成指定三元组,那么我们不难发现,当当前数组中有元素大于target中对应位置时,我们就可以丢弃该数组,继续判断下一个数组,拿到符合条件的数组中的各个位置最大值就可以。以下是代码实现: public boolean mergeTriplets(int[][] triplets, int[] target) { int[] res = {0,0,0}; for(int i=0;i<triplets.length;i++){//对
2021-06-14 19:17:04 217
原创 重新分配字符使所有字符串都相等
leetcode1897. 重新分配字符使所有字符串都相等给你一个字符串数组 words(下标 从 0 开始 计数)。在一步操作中,需先选出两个 不同 下标 i 和 j,其中 words[i] 是一个非空字符串,接着将 words[i] 中的 任一 字符移动到 words[j] 中的 任一 位置上。如果执行任意步操作可以使 words 中的每个字符串都相等,返回 true ;否则,返回 false 。示例 1:输入:words = [“abc”,“aabc”,“bc”]输出:true解释:将
2021-06-14 15:41:54 464
转载 MapRduce中的输入格式化
InputFormat接口InputFormat接口包含了两个抽象方法:getSplits()和creatRecordReader()。InputFormat决定了Hadoop如何对文件进行分片和接收, 它能够从一个 job 中得到一个 split 集合(InputSplit[]),然后再为这个 split 集合配上一个合适的 RecordReader(getRecordReader)来读取每个split中的数据。InputFormat接口的实现细节如下。public abstract class .
2021-04-08 14:18:46 207
原创 从尾到头打印链表(剑指offer)
从尾到头打印链表(剑指offer)看到从尾到头输出,第一反应就是栈,因此我们需要定义一个指针用来定位当前节点的数,还需要一个定义栈用来存放链表中各节点的元素,以及一个用来接收出栈的元素数组。代码实现如下:class Solution { public int[] reversePrint(ListNode head) { ListNode temp = head; Stack<ListNode> stack = new Stack<List
2020-11-22 15:33:58 64
原创 有效的字母异位词LeetCode
有效的字母异位词LeetCode看到该题后第一思路:判断两个字符串是否是异位词,即字母排序后长度顺序都相同class Solution { public boolean isAnagram(String s, String t) { char[] a = s.toCharArray(); char[] b = t.toCharArray(); Arrays.sort(a); Arrays.sort(b); return Arrays.equ
2020-11-22 12:18:19 143
原创 单例模式
单例模式:简单来说,就是一个类只能构建一个对象的设计模式单例模式(非线程安全):public class LanHan { private static LanHan lan = null; private LanHan(){} public static LanHan getInstance(){ if(lan == null){ lan = new LanHan(); } return lan; }}解释:1.要想让一个类只能构建一个对象,自然不能让它随意去做
2020-11-18 18:14:39 85
原创 语法糖
什么是语法糖本人今天在做算法的时候用到了内部类,发现该语句可以用Lambda表达式。进而转到了Lambda表达式部分。(PS:我真菜,不过我正在努力…)Java中的Lambda表达式,本质也是匿名函数,但其实现原理区别于一般的匿名类中的匿名函数实现,她是JDK8引入的一颗新的语法糖。以下来源于百度百科:语法糖(Syntactic sugar),也译为糖衣语法,是由英国计算机科学家彼得·约翰·兰达(Peter J. Landin)发明的一个术语,指计算机语言中添加的某种语法,这种语法对语言的功能并没
2020-11-17 19:53:09 136
原创 距离顺序排序矩阵单元格
距离顺序排序矩阵单元格(LeetCode)参考官方代码之后:class Solution { public int[][] allCellsDistOrder(int R, int C, int r0, int c0) { int[][] ret = new int[R * C][]; for (int i = 0; i < R; i++) { for (int j = 0; j < C; j++) {
2020-11-17 19:28:18 105
原创 两数之和 LeetCode
LeetCode 两数之和主要学习算法思想以及如何优化第一种:暴力算法public class Solution { public int[] twoSum(int[] nums, int target) { int[] result = new int[2]; for(int i = 0;i< nums.length;i++){ for(int j = i+1;j<nums.length;j++){
2020-11-16 20:13:35 97
原创 No value specified for parameter 2
No value specified for parameter 2今天写代码时候报错,检查后发现是 对占位符赋值的问题出错前:修改后:真蠢…
2020-11-16 17:35:54 6478
原创 移掉K位数字(LeetCode)
LeetCode (移掉K位数字)根据大佬提示做出class Solution { public String removeKdigits(String num, int k) { Deque<Character> deque = new LinkedList<Character>(); int length = num.length(); for (int i = 0; i < length; ++i) {
2020-11-15 21:08:45 77
原创 最长公共子串求解
最长公共子串难度 – 中等知识点 — 动态规划 public String LCS (String str1, String str2) { int start = 0;//str2开始位置 int end = 1;//str2结束位置 StringBuilder s = new StringBuilder(); while(end<str1.length()+1){//判断是否已经走到str2的最后一个位置
2020-11-15 12:13:43 127
转载 Java中什么方法导致线程阻塞
Java中什么方法导致线程阻塞1.什么引入线程阻塞机制?2.Java中实现线程阻塞的方法3.常用线程名词解释1.什么引入线程阻塞机制?为了解决对共享存储区的访问冲突,Java 引入了同步机制,现在让我们来考察多个线程对共享资源的访问,显然同步机制已经不够了,因为在任意时刻所要求的资源不一定已经准备好了被访问,反过来,同一时刻准备好了的资源也可能不止一个。为了解决这种情况下的访问控制问题,Java 引入了对阻塞机制的支持。阻塞指的是暂停一个线程的执行以等待某个条件发生(如某资源就绪),学过操作系统的同学
2020-10-28 17:40:08 848
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人