SQL50+Hot100系列(11.9)

一 SQL

1 1581 进店却从未进行交易过的顾客

题目描述

题目案例

思路分析:

我们先去使用外连接去看看关联后的表格式,从而对后续操作进行改进

sql 复制代码
select *
from Visits v
left join Transactions t on v.visit_id = t.visit_id

分析输出的结果,我们需要获取的就是这些transaction_id为null的,因为其是光看不买的那些,那就加上条件筛选呗,where transaction_id is null,然后结果如下

sql 复制代码
select *
from Visits v
left join Transactions t on v.visit_id = t.visit_id
where transaction_id is null

这样的话再对这个customer_id进行分组,分完组之后对组内的数据进行一个统计即可

这就是最终的代码

sql 复制代码
select v.customer_id,count(*) as count_no_trans
from Visits v
left join Transactions t on v.visit_id = t.visit_id
where transaction_id is null
group by v.customer_id

我再嘎巴一运行-击败百分之81.

2 1068 产品销售分析

题目描述

题目案例

思路分析

这题就是一个简单的外连接使用,使用过程当中对题目的分析可以一步一步的去实现最终的结果。

代码展示

sql 复制代码
select p.product_name,s.year,s.price
from Sales s 
left join Product p on s.product_id = p.product_id

二 算法

1 283移动零

题目描述

思路分析

这题呢,题目要求不能去进行数组的复制,那直接不就说出来怎么去实现了吗,交换元素。

但是如何交换,才能保证达到最终的结果,如何交换才能效率较高,这才是本题的考察点。

首先呢,我是去自定义了一个swap交换函数

然后定义了指针变量,left,right.以及最后的位置索引值n

初始时,left与right都是默认为0,举个例子,当初始数组为 1,2,0,0,5

那么初始时两个为0,会去判断numsright是不是0不是的话就会将right++,left++,将两个指针都向后移动,因为两个位置相同,所以说交换对数据没有影响,两个指针向后进行移动,移动到元素值为0的位置那么left就不动了让right向后走,找到不为0的,然后嘎巴将两个一交换,就这样持续操作,最终达到想要的效果。

代码展示

java 复制代码
class Solution {
    public void moveZeroes(int[] nums) {
        int n = nums.length,left = 0,right = 0;
        while(right < n){
            if(nums[right]!=0){
                swapMethod(nums,left,right);
                left++;
            }
            right++;
        }
    }
        public void swapMethod(int[] nums,int left ,int right){
            int temp = nums[left];
            nums[left]=nums[right];
            nums[right]=temp;
        }
}
相关推荐
:-)5 小时前
算法-归并排序
java·开发语言·数据结构·算法·排序算法
Jerry9 小时前
LeetCode 101. 对称二叉树
算法
可编程芯片开发10 小时前
基于MPPT最大功率跟踪的离网光伏发电系统Simulink建模与仿真
算法
AI科技星10 小时前
线性算子不是空间映射函数,是全域双螺旋场之间拉伸、旋转、耦合、坍缩的跨空间标准化变换载体《全域数学vs传统数学:人类文明进阶200讲》第80讲
线性代数·算法·矩阵·数据挖掘·回归·乖乖数学·全域数学
米罗篮11 小时前
矩阵快速幂 (Exponentiation By Squaring Applied To Matrices)
c++·线性代数·算法·矩阵
dream_home840711 小时前
图像算法模型NPU适配与算法服务实战指南
人工智能·python·算法·npu 图像服务
大鱼>11 小时前
多宠物家庭智能管理平台:云端架构与多设备协同实战
python·算法·iot·宠物
To_OC12 小时前
LC 22 括号生成:刷完这道题,我终于搞懂回溯剪枝了
javascript·算法·leetcode
To_OC12 小时前
LC 39 组合总和:回溯入门必刷题,我踩过的两个坑都在这了
javascript·算法·leetcode
数字杂技师12 小时前
每条推荐都很准,为什么我还是越刷越无聊?
算法