算法leetcode基础day6

【算法题】257

257. 二叉树的所有路径 给你一个二叉树的根节点 root ,按 任意顺序 ,返回所有从根节点到叶子节点的路径。 叶子节点 是指没有子节点的节点。 树中节点的数目在范围 [1, 100] 内 -100 <= Node.val <= 100 这是一道常规 DFS 题, /** * Definitio ......
算法 257

【算法题】跳跃游戏Ⅱ

题目链接 给定一个长度为 n 的 0 索引整数数组 nums。初始位置为 nums[0]。 每个元素 nums[i] 表示从索引 i 向前跳转的最大长度。换句话说,如果你在 nums[i] 处,你可以跳转到任意 nums[i + j] 处: 0 <= j <= nums[i] i + j < n 返 ......
算法

【算法题】移除元素

题目来源 给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。 不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。 元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。 0 <= nums.leng ......
算法 元素

【算法题】合并两个有序数组

💎题目来源 💎题目描述: 给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2,另有两个整数 m 和 n ,分别表示 nums1 和 nums2 中的元素数目。 请你 合并 nums2 到 nums1 中,使合并后的数组同样按 非递减顺序 排列。 注意:最终,合并后数组不应由函数返 ......
数组 算法 两个

【算法题】买卖股票的最佳时机

题目链接 给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。 你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。 返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润, ......
算法 时机 股票

【算法】质数的判断与筛法

质数定义 不能被 \(2,3,...,n-1\) 整除的自然数 \(n\) 称之为素数,或质数。 判断单个质数 isPrime 那是不是一定要判断从 2 到 n-1 每个数能否整除 n 呢? 答案是不需要。 如果 k 整除 n,那么 n/k 也整除 n,它两位于 \(\sqrt n\) 两侧,判断了 ......
质数 算法

【算法题】买卖股票的最佳时机Ⅱ

题目链接 给你一个整数数组 prices ,其中 prices[i] 表示某支股票第 i 天的价格。 在每一天,你可以决定是否购买和/或出售股票。你在任何时候 最多 只能持有 一股 股票。你也可以先购买,然后在 同一天 出售。 返回 你能获得的 最大 利润 。 1 <= prices.length ......
算法 时机 股票

【算法题】删除有序数组中的重复项

题目链接 思路1:使用set。 /** * @param {number[]} nums * @return {number} */ var removeDuplicates = function(nums) { const uniqueSet=new Set(); for(let i=0;i<nu ......
数组 算法

【算法题】删除有序数组中的重复项Ⅱ

题目来源。 给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使得出现次数超过两次的元素只出现两次 ,返回删除后数组的新长度。 不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。 思路1:移动元素法。从后遍历数组,计数元素重复次数,当遇到不重 ......
数组 算法

【算法题】1163.按字典序排在最后的子串

题目链接 给你一个字符串 s ,找出它的所有子串并按字典序排列,返回排在最后的那个子串。 1 <= s.length <= 4 * \(10^5\) s仅含有小写英文字符。 最关键的是处理时间复杂度,怎么让他小于\(O(n^2)\)。 双指针法: /** * @param {string} s * ......
算法 字典 1163

【算法题】 O(1) 时间插入、删除和获取随机元素 JavaScript

题目链接 实现RandomizedSet 类: RandomizedSet() 初始化 RandomizedSet 对象 bool insert(int val) 当元素 val 不存在时,向集合中插入该项,并返回 true ;否则,返回 false 。 bool remove(int val) 当 ......
算法 JavaScript 元素 时间

2023-2024-1 20231410刘珈岐 《计算机基础与程序设计》第3周学习总结

2023-2024-1 20231410 《计算机基础与程序设计》第3周学习总结 •作业信息 这个作业属于哪个课程 https://edu.cnblogs.com/campus/besti/2023-2024-1-CFAP 这个作业要求在哪里 https://www.cnblogs.com/roce ......

算法题解——买卖股票的最佳时机

解题思路 先考虑最简单的「暴力遍历」,即枚举出所有情况,并从中选择最大利润。设数组 prices 的长度为n,由于只能先买入后卖出,因此第 1 天买可在未来n−1天卖出,第 2 天买可在未来n - 2天卖出……以此类推,共有 \[(n - 1) + (n - 2) + \cdots + 0 = \f ......
题解 算法 时机 股票

2023-2024-1学期 20231302邱之钊 《计算机基础与程序设计》第三周学习总结

作业信息 作业属于的课程 2023-2024-1-计算机基础与程序设计 作业要求 2023-2024-1计算机基础与程序设计第一周作业 作业目标 数字分类与计数法、位置计数法、进制转换、模拟数据与数字数据、压缩与解压、数字化、信息安全 作业正文 2023-2024-1学期 20231302邱之钊 《 ......

【Linux 基础】gcc、g++多版本间的切换

在make时可能出现版本过高的问题,因此需要进行版本切换。gcc多版本间的切换(g++配置方法一样,gcc换为g++即可)系统:ubuntu18 方法:根据需要同步设置gcc与g++间的版本号 1.gcc安装(多版本) sudo apt-get update sudo apt-get install ......
版本 基础 Linux gcc

Javascript、axios、vue基础命令快速学习

1.js: JavaScript 基础学习 JavaScript基础学习 简单案例 1.点击img1,则展示img1图片默认,点击img2则展示img2图片 2.输入框鼠标聚焦onfocus后,显示小写toLowerCase(),失去焦点onblur后显示大写toUpperCase() 3.点击全选 ......
Javascript 命令 基础 axios vue

2023-2024-1 20231406 《计算机基础与程序设计》第3周学习总结

2023-2024-1 20231406 《计算机基础与程序设计》第3周学习总结 作业信息 这个作业属于哪个课程 <班级的链接>(如[2023-2024-1-计算机基础与程序设计](https://edu.cnblogs.com/campus/besti/2023-2024-1-CFAP) 这个作业 ......

2023-2024-1 20231329《计算机基础与程序设计》第3周学习总结

作业信息 这个作业属于哪个课程 https://edu.cnblogs.com/campus/besti/2023-2024-1-CFAP 这个作业要求在哪里 https://www.cnblogs.com/rocedu/p/9577842.html#WEEK03 这个作业的目标 计算机科学概论第2 ......

学期2023-2024-1 20231417 《计算机基础与程序设计》第三周学习总结

学期2023-2024-1 20231417 《计算机基础与程序设计》第三周学习总结 作业信息 这个作业属于哪个课程2023-2024-1-计算机基础与程序设计 这个作业要求在哪里 2023-2024-1计算机基础与程序设计第三周作业 这个作业的目标 自学教材:计算机科学概论第2章,第3章,C语言程 ......

Go泛型解密:从基础到实战的全方位解析

本篇文章深入探讨了Go语言的泛型特性,从其基础概念到高级用法,并通过实战示例展示了其在实际项目中的应用。 关注【TechLeadCloud】,分享互联网架构、云服务技术的全维度知识。作者拥有10+年互联网服务架构、AI产品研发经验、团队管理经验,同济本复旦硕,复旦机器人智能实验室成员,阿里云认证的资 ......
实战 全方位 基础

2023-2024-1 20231424 《计算机基础与程序设计》第3周学习总结

作业信息 作业课程 2022-2023-1-计算机基础与程序设计 作业要求 2022-2023-1计算机基础与程序设计第一周作业 这个作业的目标 自学《计算机科学概论》第2章,第3章和《C语言程序设计》第2章 作业正文链接 https://www.cnblogs.com/2004lby/p/1776 ......

2023-2024-1 20231416 《计算机基础与程序设计》第三周学习总结

计算机科学概论 第二章 学习了二进制、八进制、十进制、十六进制的计算和转化,二进制与八进制采用“三合一”转化,即三位二进制数按权展开为一位八进制数,二进制与十六进制数采用“四合一”转化法,即四位二进制数按权展开得到一位十六进制数。例如:二进制→八进制 010=0+12^1+0=2二进制→十六进制 0 ......

Java基础-JDBC增删改查

目录 1. MySQL准备 2. JDBC项目 3. JDBC新增 4. JDBC查询 5. JDBC修改 6. JDBC删除 内容 MySQL准备 新建表t_person CREATE TABLE `t_person` ( `id` int(11) NOT NULL AUTO_INCREMENT ......
基础 Java JDBC

【算法笔记】 数位dp (例题是 [SCOI2009] windy 数)

数位dp 引入 数位 :是指把一个数字按位数一位一位地拆开,关注它每一位上的数字。如果拆的是十进制数,那么每一位数字都是 0~9,其他进制可类比十进制,就比如 链接: [SCOI2009] windy 数的二进制同理。 常见特征 要求统计满足一定条件的数的数量(即,最终目的为计数); 这些条件经过转 ......
例题 数位 算法 笔记 windy

学期2023-2024-1 20231401 《计算机基础与程序设计》第三周学习总结

学期2023-2024-1 20231401 《计算机基础与程序设计》第三周学习总结 作业信息 这个作业属于哪个课程 2023-2024-1-计算机基础与程序设计 这个作业要求在哪里 2023-2024-1计算机基础与程序设计第三周作业 这个作业的目标 自学教材:计算机科学概论第2章,第3章,C语言 ......

#软件工程基础——第一次作业

恢复内容开始 软件技术基础 https://edu.cnblogs.com/campus/zjlg/23rjjsjc 这个作业的目标 建立自己的博客园账号,介绍个人信息及爱好,并对课程做出规划 姓名-学号 杨梁-2021330301131 一、自我介绍 (一)个人信息: 大家好,我是杨梁,来自浙江宁 ......
软件工程 第一次 基础 工程 软件

Java基础-初识JDBC

目录 1. JDBC简介 2. JDBC项目 3. JDBC的导入 4. JDBC的使用 内容 JDBC简介 什么是JDBC JDBC的全称是Java数据库连接(Java Database connect),它是一套用于执行SQL语句的Java API。应用程序可通过这套API连接到关系数据库,并使 ......
基础 Java JDBC

2023-2024-1 20231416 《计算机基础与程序设计》第三周学习总结

计算机概论 第二章中 书里主要讲述了二进制 八进制以及十六进制的运算 以及十进制如何转化为不同的进制 学习二进制计算是学习计算机程序的重中之重 在经过不懈学习后 掌握了二进制的我对于学习计算机更有了一份自信 第三章中 学习了补码 反码等概念 以及关键字编码 行程长度编码 赫夫曼编码等编码方式 拓宽了 ......

一.排序算法---快速排序

1.快速排序 1)快速排序(自定义实现) Quick_Sort 函数:它采用一个整数数组 arr,以及两个索引 begin 和 end,表示排序范围的起始和结束位置。如果 begin 大于或等于 end,则数组无需排序,因此直接返回。否则,它选择一个基准元素(通常是数组的第一个元素),然后通过比较和 ......
算法