banner
tiaotiaotang

tiaotiaotang

互联网科技爱好者/后端开发入门,学习ing
微信公众号

力扣刷题(5月16日)

跳跃游戏#

给定一个非负整数数组 nums ,你最初位于数组的 第一个下标 。

数组中的每个元素代表你在该位置可以跳跃的最大长度。

判断你是否能够到达最后一个下标。

示例 1:
输入:nums = [2,3,1,1,4]
输出:true
解释:可以先跳 1 步,从下标 0 到达下标 1, 然后再从下标 1 跳 3 步到达最后一个下标。

示例 2:
输入:nums = [3,2,1,0,4]
输出:false
解释:无论怎样,总会到达下标为 3 的位置。但该下标的最大跳跃长度是 0 , 所以永远不可能到达最后一个下标。

  • 能运行通过,但是不可以提交!!!
class Solution {
    public boolean canJump(int[] nums) {
        int max=0;
        for(int i=0;i<nums.length;++i){
            if(i<=max)
                max=Math.max(max,i+nums[i]);
                if(max>nums.length-1)
                    return true;
        }
            return false;
    }
}

加一下数据库的知识吧!#

假设你的数据库表结构如下:

  • 学生表(Students):学号(StudentID),姓名(Name),等等
  • 成绩表(Scores):学号(StudentID),课程号(CourseID),成绩(Score)
  • 课程表(Courses):课程号(CourseID),课程名(CourseName),教师号(TeacherID)
  • 教师表(Teachers):教师号(TeacherID),姓名(TeacherName)

你可以使用以下的 SQL 查询语句来获取平均成绩大于 60 分的学生的学号和平均成绩:

SELECT Students.StudentID, AVG(Scores.Score) AS AverageScore
FROM Students
JOIN Scores ON Students.StudentID = Scores.StudentID
GROUP BY Students.StudentID
HAVING AVG(Scores.Score) > 60;

这个查询首先通过 JOIN 操作将学生表和成绩表连接在一起,然后使用 GROUP BY 语句按学生的学号进行分组。最后,使用 HAVING 语句筛选出平均成绩大于 60 分的学生。

注意,这个查询假设每个学生的学号在学生表中是唯一的,而且每个学生至少有一门课的成绩。如果这些假设不成立,你可能需要修改查询以适应你的实际情况#

假设你的数据库表结构如下:

  • 学生表(Students):学号(StudentID),姓名(Name),学校(School),等等
  • 成绩表(Scores):学号(StudentID),课程号(CourseID),成绩(Score)

你可以使用以下的 SQL 查询语句来获取所有学生的学校,姓名,选课数,总成绩:

SELECT Students.School, Students.Name, COUNT(Scores.CourseID) AS CourseCount, SUM(Scores.Score) AS TotalScore
FROM Students
LEFT JOIN Scores ON Students.StudentID = Scores.StudentID
GROUP BY Students.StudentID;

这个查询首先通过 LEFT JOIN 操作将学生表和成绩表连接在一起,然后使用 GROUP BY 语句按学生的学号进行分组。在每个分组中,COUNT 函数计算选课数,SUM 函数计算总成绩。

注意,这个查询假设每个学生的学号在学生表中是唯一的。如果这个假设不成立,你可能需要修改查询以适应你的实际情况。此外,这个查询使用了 LEFT JOIN,因此即使某个学生没有选课,也会在结果中显示出来(选课数和总成绩会显示为 NULL)。如果你只想显示至少选了一门课的学生,你可以将 LEFT JOIN 改为 JOIN。#

假设你的数据库表结构如下:

  • 成绩表(Scores):学号(StudentID),课程号(CourseID),成绩(Score)

你可以使用以下的 SQL 查询语句来获取课程编号为 2 的总成绩:

SELECT SUM(Score) AS TotalScore
FROM Scores
WHERE CourseID = 2;

这个查询首先使用 WHERE 语句筛选出课程编号为 2 的所有成绩,然后使用 SUM 函数计算这些成绩的总和。

注意,这个查询假设课程编号在成绩表中是一个字段。如果这个假设不成立,你可能需要修改查询以适应你的实际情况。#

假设你的数据库表结构如下:

  • 学生表(Students):学号(StudentID),姓名(Name),等等
  • 成绩表(Scores):学号(StudentID),课程号(CourseID),成绩(Score)

你可以使用以下的 SQL 查询语句来获取没有选课的学生的学号和姓名:

SELECT Students.StudentID, Students.Name
FROM Students
LEFT JOIN Scores ON Students.StudentID = Scores.StudentID
WHERE Scores.StudentID IS NULL;

这个查询首先通过 LEFT JOIN 操作将学生表和成绩表连接在一起。然后,使用 WHERE 语句筛选出那些在成绩表中没有对应记录的学生,也就是没有选课的学生。

注意,这个查询假设每个学生的学号在学生表中是唯一的,而且每个学生在成绩表中的每门课都有一条记录。如果这些假设不成立,你可能需要修改查询以适应你的实际情况。#

加载中...
此文章数据所有权由区块链加密技术和智能合约保障仅归创作者所有。