- 博客(73)
- 收藏
- 关注
原创 mysql日期操作
https://blog.youkuaiyun.com/weixin_44259720/article/details/103496184
2024-04-22 18:14:22
304
原创 mysql not in 和 null
not in语句后面的范围不能出现null,否则执行无效,如果后面是子查询,则需要手动增加is not null过滤条件。本题中如果将第二个case中的in改成not in,因为目标中有null 则会直接跳过第二个case进入else。in语句不会对null进行过滤匹配。
2024-04-15 21:38:21
300
原创 SQL面试学习 行列转换
concat_ws:把集合中的值用指定分隔符连接collect_set():收集唯一值并返回一个集合cast()将任何类型的值转换为具有指定类型的值。
2024-03-14 21:22:11
444
原创 cast数据类型转换
函数,您可以将一个值从一种数据类型转换为另一种数据类型,以便在查询中进行比较、计算或显示。数据类型,以便在结果中显示具有特定精度和小数位数的数字。函数用于将一个值转换为另一种数据类型。是要转换成的目标数据类型。将计算出的平均时间间隔转换为。
2024-03-13 20:09:04
865
原创 mysql重构
在这个例子中,‘store1’ AS store表示将名为’store1’的列的别名设为store,store1 AS price表示将名为store1的列的别名设为price。在查询结果中,store1列将以store的名称显示,store1列将以price的名称显示。
2024-03-13 18:51:33
542
原创 group by order by having where union
1,order by 从英文里理解就是行的排序方式,默认的为升序。order by 后面必须列出排序的字段名,可以是多个字段名。2,group by 从英文里理解就是分组。必须有“聚合函数”来配合才能使用,使用时至少需要一个分组标志字段。注意:聚合函数是—sum()、count()、avg()等都是“聚合函数”UNION 操作会对结果去重且排序。union all 不去重。
2024-03-10 15:38:50
437
原创 join sum 时间范围
力扣题目链接datetime date timestamp三种类型的上下界MySQL 中 datetime 和 timestamp 的区别与选择
2024-03-08 20:31:27
403
原创 窗口函数dense() over(条件)
在 SQL 中,DENSE_RANK() 是一个窗口函数,用于计算结果集中每行的稠密排名(dense rank)。DENSE_RANK() 函数会为具有相同排序字段值的行分配相同的排名,但不会跳过排名。在上面的示例中,DENSE_RANK() 函数按照薪水(Salary)字段降序排列员工,并为每个员工分配一个稠密排名。请注意,DENSE_RANK() 函数在计算稠密排名时不会跳过排名,即如果有两个员工具有相同的薪水,它们将被分配相同的排名,并且下一个排名将不会跳过。
2024-03-07 21:23:19
1716
1
原创 数据库自连接
力扣题目链接https://leetcode.cn/problems/employees-earning-more-than-their-managers。
2024-03-07 21:08:10
419
原创 二分法查找
个人认为本题是二分查找较为有难度的题,因为要求了时间复杂度(符合条件常用的有折半查找,幂查找,欧几里得),此处寻找左右边界各使用一次二分查找。此处以右边界为例,左边界同理。二分法是查找时间复杂度较低的算法之一:o(log n),实际上就是寻找low high中间位置的值,不断增大low,缩小high的值来缩小范围。实际上的改变就是else语句处,写个数组即可理解。34.在排序数组中查找元素的第一个和最后一个位置。力扣上同类型的还有35.搜索插入位置。367.有效的完全平方数等。
2023-05-09 23:42:00
116
原创 内连接外连接
内连接(典型的连接运算,使用像 = 或 <> 之类的比较运算符)。包括相等连接和自然连接。内连接使用比较运算符根据每个表共有的列的值匹配两个表中的行。例如,检索 students 和 courses 表中学生标识号相同的所有行。外连接外连接可以是左向外连接、右向外连接或完整外部连接。在FROM子句中指定外连接时,可以由下列几组关键字中的一组指定:LEFT JOIN 或 LEFT OUTER JOIN。左向外连接的结果集包括LEFT
2022-01-01 21:49:43
143
原创 memset
函数原型: void *memset(void *s, int ch, size_t n);参数说明:s : 指针、数组、结构体的地址 ch:赋给s 的值, n: 是 s 的长度功能 : 将s所指向的某一块内存中前n 个字节 设置为ch 。int c[10] ; char a[10];memset(c,1,sizeof©); //不能把数组c中都赋值为1memset(a,’1’,
2021-11-25 17:31:00
125
原创 kettle链接mysql
先下载驱动https://downloads.mysql.com/archives/c-j/mysql8.0以上的选择5.1.48版本下载第二个(压缩包)解压把这两个jar包复制到kettle的data-integration\lib下重启kettle文件—— 新建 ——数据库链接主机名称 localhostmysql8.0以上点击测试...
2021-10-16 21:09:12
1279
原创 swap函数
java对基本类型的传递不支持引用传递即public static void main(String[] args){ int a = 1, b=2; swap(a,b); System.out.print("a="+ a + ", b="+ b);}void swap(int a, int b){ int temp = a; a = b; b = temp;}这样只是把实参的值赋值给了形参,再对形参进行改变,并不能改变实参。可通过数组解决p
2021-09-15 11:57:56
172
原创 455. 分发饼干 排序+贪心算法
class Solution: #python def findContentChildren(self, g: List[int], s: List[int]) -> int: g.sort() s.sort() count=0 i=j=0 while i<len(g) and j<len(s): if g[i]<=s[j]: i+=1.
2021-06-07 22:12:36
132
原创 面试题 16.02. 单词频率 哈希表
class WordsFrequency {private HashMap<String,Integer> map=new HashMap<>();// private HashMap<String, Integer> map = new HashMap<>(); public WordsFrequency(String[] book) { for(String str :book){ map.put(s.
2021-06-04 00:28:02
113
原创 160. 相交链表
# Definition for singly-linked list.# class ListNode:# def __init__(self, x):# self.val = x# self.next = Noneclass Solution: def getIntersectionNode(self, headA: ListNode, headB: ListNode) -> ListNode: global null..
2021-06-02 23:49:39
102
3
原创 231. 2 的幂
//解法1 c> 给大家举个列子: > > 8的二进制是1000 7的二进制是0111> > 1000 > > 0111> > &运算中1&1=1,1&0=0,0&0=0> > 并且按位置对应运算的,也就是说第一位和第一位运算,其他类推> > 所以可以得出0000,故输出的是0。bool isPowerOfTwo(int n){.
2021-05-31 00:36:23
84
1
原创 << >>
左移时不管正负,低位补0正数:r = 20 << 220的二进制补码:0001 0100向左移动两位后:0101 0000结果:r = 80负数:r = -20 << 2-20 的二进制原码 :1001 0100-20 的二进制反码 :1110 1011-20 的二进制补码 :1110 1100左移两位后的补码:1011 0000反码:1010 1111原码:1101 0000结果:r = -80表示右移,如果该数为正,则高位补0,若为负数,则高位补1;
2021-05-27 22:54:14
156
原创 448. 找到所有数组中消失的数字
让数组中出现的值取对应下标的相反数代码class Solution { public List<Integer> findDisappearedNumbers(int[] nums) { List<Integer> results = new ArrayList<>(); int n=nums.length; for(int num=0;num<n;num++){ if(nums[Math.a.
2021-05-22 16:42:07
93
1
原创 string的一些方法 1859. 将句子排序
class Solution { public String sortSentence(String s) { String[] strs =s.split(" "); String [] res = new String[strs.length];for (String str:strs){ int num = str.charAt(str.length()-1)-'0'-1; res[num]=str.substring(0,str..
2021-05-19 22:30:29
155
原创 1844. 将所有数字用字符替换
先将字符串拆分到字符串类型的数组,然后对循环对数字进行操作,需要注意的是因为数组是字符串类型的,所以要对(cha[i-1]+(cha[i]-‘0’) 进行类型转换,最后return在将字符数组转化为字符串时,用new String(char value[])更好。代码class Solution { public String replaceDigits(String s) { char [] cha=s.toCharArray(); //拆分 for(int..
2021-05-12 11:40:37
321
原创 213. 打家劫舍 II
先说思路,既然首尾不能同时用,就把收尾分开,一个数组有头一个数组有尾,然后就是普通的打家劫舍进行两次,再比较这两个的大小。至于动态规划,就是比较两端和中间数的大小,将大的问题分解成小的问题。https://blog.youkuaiyun.com/weixin_48680010/article/details/116585115?spm=1001.2014.3001.5502 可以看下这个class Solution { public int rob(int[] nums) { //边界情况.
2021-05-10 12:57:50
126
原创 动态规划
动态规划即将大问题转换成相应的小问题通过解决小问题进而解决大问题。什么时候用动态规划呢:1.最优化原理(最优子结构性质)最优化原理可这样阐述:一个最优化策略具有这样的性质,不论过去状态和决策如何,对前面的决策所形成的状态而言,余下的诸决策必须构成最优策略。简而言之,一个最优化策略的子策略总是最优的。一个问题满足最优化原理又称其具有最优子结构性质。图2例如图2中,若路线I和J是A到C的最优路径,则根据最优化原理,路线J必是从B到C的最优路线。这可用反证法证明:假设有另一路径J’是B到C的最优
2021-05-10 09:33:59
1705
原创 1641. 统计字典序元音字符串的数目(动态规划)
n=1a e i o u1 1 1 1 1n=2aa ae ai ao au 5ee ei eo eu 4ii io iu 3oo ou 2uu 1n=315 10 6 3 1从这里其实我们可以找到规律,n=2的时候a的值即为n=1时所有值的一个加和,而eiou则为其前一个字母当前n的值减去上一个n的值即可分类讨论class Solution { public in..
2021-05-08 11:48:29
293
原创 344. 反转字符串
第一种方法是异或方法详情见 https://blog.youkuaiyun.com/weixin_48680010/article/details/116517426,第二种就比较容易想了就是利用一个中间变量,但是并没有占用辅助空间代码class Solution { public void reverseString(char[] s) { for(int i=0;i<s.length/2;i++){ int j= s.length-1-i;
2021-05-08 09:14:27
362
原创 异或
异或,是一个数学运算符,英文为exclusive OR,缩写为xor,应用于逻辑运算。异或的数学符号为“⊕”,计算机符号为“xor”。其运算法则为:a⊕b = (¬a ∧ b) ∨ (a ∧¬b)如果a、b两个值不相同,则异或结果为1。如果a、b两个值相同,异或结果为0。异或也叫半加运算,其运算法则相当于不带进位的二进制加法:二进制下用1表示真,0表示假,则异或的运算法则为:0⊕0=0,1⊕0=1,0⊕1=1,1⊕1=0(同为0,异为1),这些法则与加法是相同的,只是不带进位。异或略称为XOR、EO
2021-05-08 09:12:31
4698
原创 59. 螺旋矩阵 II
class Solution { public int[][] generateMatrix(int n) { int[][] ans=new int[n][n]; cricle(0,0,n-1,n-1,1,ans); return ans;} void cricle(int x1,int y1,int x2,int y2,int start, int[][]ans){ if(x2<x1 || y2<y1) { return ;.
2021-04-25 23:15:38
91
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人