JS基础算法04 -- 三数之和

   const nums = [1, 2, 3, 4, 5, 6, 7, 8]
        const target = 6

        function find(nums, target) {
            let result = []
            let sortArr = nums.sort((a, b) => a - b)
            let len = sortArr.length
            for (let i = 0; i < len; i++) {
                let left = i + 1
                let right = len - 1
           
                    while (left < right) {
                        let sum = sortArr[i] + sortArr[left] + sortArr[right]
                        if (sum === target) {
                            result.push(sortArr[i], sortArr[left], sortArr[right])
                            left ++
                            while(left < right){
                                if(letf[i] ===left[i + 1]){
                                    left++
                                }
                                if(right[i] ===right[i - 1]){
                                    right--
                                }
                            }

                             
                        } else if (sum < target) {
                            left++
                        } else {
                            right--
                        }
                    
                    }
            }
            return result

        }


        console.log(find(nums, target))

请添加图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
假设有两个表,一个是图书表 books,另一个是学生表 students,它们的结构和部分数据如下: ```mysql -- 图书表 books CREATE TABLE books ( id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, title VARCHAR(100) NOT NULL, author VARCHAR(50) NOT NULL, price DECIMAL(8,2) NOT NULL, publish_date DATE NOT NULL ); INSERT INTO books (title, author, price, publish_date) VALUES ('MySQL入门与精通', '张三', 59.90, '2020-01-01'), ('Java编程思想', 'Bruce Eckel', 108.00, '2018-01-01'), ('Python数据分析与挖掘实战', '李四', 89.00, '2019-06-01'), ('深入浅出Node.js', '朱一凡', 59.00, '2017-03-01'), ('算法图解', 'Aditya Bhargava', 49.90, '2018-07-01'); -- 学生表 students CREATE TABLE students ( id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, name VARCHAR(50) NOT NULL, gender VARCHAR(10) NOT NULL, age INT NOT NULL, major VARCHAR(50) NOT NULL ); INSERT INTO students (name, gender, age, major) VALUES ('张三', '男', 20, '计算机科学与技术'), ('李四', '女', 19, '软件工程'), ('王五', '男', 21, '物联网工程'), ('赵六', '女', 20, '信息管理'), ('钱七', '男', 22, '计算机应用技术'); ``` 现在我们来进行一些子查询的操作。 1. 查询图书表中价格最高的图书的信息 ```mysql SELECT * FROM books WHERE price = (SELECT MAX(price) FROM books); ``` 2. 查询学生表中年龄最大的学生的姓名和专业 ```mysql SELECT name, major FROM students WHERE age = (SELECT MAX(age) FROM students); ``` 3. 查询学生表中专业为“计算机科学与技术”的学生的平均年龄 ```mysql SELECT AVG(age) FROM students WHERE major = '计算机科学与技术'; ``` 4. 查询学生表中不在专业为“计算机科学与技术”和“软件工程”的学生的姓名和专业 ```mysql SELECT name, major FROM students WHERE major NOT IN ('计算机科学与技术', '软件工程'); ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值