算法leetcode day 30

Day32(2023.08.18)

行程 8:45 到达上海市信息安全测评认证中心(黄浦区陆家浜路1308号) 9:00 项目归档 11:30--13:00 吃饭休息 13:00 项目归档 17:00 下班 ......
2023 Day 32 08 18

[LeetCode][300]longest-increasing-subsequence

# Content Given an integer array nums, return the length of the longest strictly increasing subsequence. Example 1: Input: nums = [10,9,2,5,3,7,101,18 ......

Leetcode 15. 三数之和(3Sum)

[题目链接](https://leetcode.cn/problems/3sum) 给你一个整数数组 nums ,判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i != j、i != k 且 j != k ,同时还满足 nums[i] + nums[j] + nu ......
之和 Leetcode 3Sum Sum 15

Leetcode2788——按分隔符拆分字符串

给你一个字符串数组 words 和一个字符 separator ,请你按 separator 拆分 words 中的每个字符串。 返回一个由拆分后的新字符串组成的字符串数组,不包括空字符串 。 注意 separator 用于决定拆分发生的位置,但它不包含在结果字符串中。 拆分可能形成两个以上的字符串 ......
分隔符 字符串 字符 Leetcode 2788

【算法】用c#实现计算方法中的经典降幂优化策略,减少计算复杂度

对于给定的数组[x1,x2,x3,…,xn],计算幂的累积:x1^(x2^(x3^(…^xn))的最后一位(十进制)数字。 例如,对于数组[3,4,2],您的代码应该返回1,因为3^(4^2)=3^16=43046721。 结果的增长得快得令人难以置信。例如,9^(9^9)有超过3.69亿个数字。你 ......
降幂 复杂度 算法 策略 方法

LeetCode 周赛上分之旅 #42 当 LeetCode 考树上倍增,出题的趋势在变化吗

> ⭐️ **本文已收录到 AndroidFamily,技术和职场问题,请关注公众号 \[彭旭锐] 和 [BaguTree Pro](https://www.mdnice.com/writing/85b28c4e60354865a423728e668fc570) 知识星球提问。** > > 学习数据 ......
LeetCode 趋势 之旅 42

Leetcode 55

class Solution: def canJump(self, nums: List[int]) -> bool: if len(nums) == 1:return True i = 0;j = i for i in range(100000): if j > i+nums[i]:pass el ......
Leetcode 55

Leetcode 383. 赎金信(Ransom note)

[题目链接](https://leetcode.cn/problems/ransom-note) 给你两个字符串:ransomNote 和 magazine ,判断 ransomNote 能不能由 magazine 里面的字符构成。 如果可以,返回 true ;否则返回 false 。 magazi ......
Leetcode Ransom note 383

二分算法

1. 将两个集合合并 2. 询问两个元素是否在一个集合当中 基本原理:每个集合用一棵树表示,树根的编号就是整个集合的编号。每个节点储存它的父节点,p[x]表示x的父节点 判断树根(属于那个集合)`if (p[x] == x)` 求x的集合编号:`while(p[x] != x) x = p[x];` ......
算法

day10

Socket网络编程 socket网络编程三要素: 1.通信的目的地址; 2.使用的端口号; 3.使用的传输层协议; ......
day 10

Bresenham画直线算法(待完成)

[TOC] Bresenham算法是图形学非常经典的光栅线生成算法,可用于显示直线、圆以及其他曲线。这里通过算法画直线过程,了解其工作原理。 # 问题描述 已知线段2端点$(x_0, y_0) (x_e, y_e)$,屏幕上画出该直线段。 由于屏幕是通过像素点显示的,只能通过像素点所在的整数坐标近似 ......
算法 直线 Bresenham

day9

1.简述c语言和c++的区别?1)c语言是面向过程的语言,是结构化语言,考虑如何通过一个过程对输入进行处理来得到输出的结果;c++是面向对象的语言,主要特征是“封装、继承和多态”,封装就是以及隐藏内部的实现细节,使得代码模块化。继承就是派生类可以继承父类的数据和方法,扩展了父类中以及存在的模块,实现 ......
day9 day

剑指Offer 30. 包含min函数的栈

**题目链接:** [剑指Offer 30. 包含min函数的栈](https://leetcode.cn/problems/bao-han-minhan-shu-de-zhan-lcof/description/?envType=study-plan-v2&envId=coding-intervi ......
函数 Offer min 30

[算法学习笔记][刷题笔记] 单调队列优化 dp

### 前置知识 · 单调队列 单调队列顾名思义,一般用于解决 **滑动RMQ**问题。它的原理非常简单。我们维护一个双端队列,这个双端队列 **只维护可能成为区间最值**的元素。 最基础的单调队列,例如滑动窗口。直接依据题意维护即可。 这里提供单调队列模板(STL deque 版) 单调队列模板( ......
笔记 队列 算法 dp

关于欧几里得算法与裴蜀定理的证明

### 前言: 因为某次考试订正 T4,用到了 exCRT,然后发现我和 lws 不会 exgcd…… 所以来把 gcd 到 exgcd 重新学一下,就写了这篇 trick。 ### 欧几里得算法: 求证: $$ \gcd(a,b)=\begin{cases} \gcd(b,a\bmod b) & ......
定理 算法

LeetCode.283 移动零

题目描述 给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。 请注意 ,必须在不复制数组的情况下原地对数组进行操作。 https://leetcode.cn/problems/move-zeroes/description/ 输入: nums = [0,1 ......
LeetCode 283

Leetcode_485. 最大连续 1 的个数

题目描述 给定一个二进制数组, 计算其中最大连续 1 的个数。 示例: 输入:[1,1,0,1,1,1] 输出:3 解释:开头的两位和最后的三位都是连续 1 ,所以最大连续 1 的个数是 3. 提示: 输入的数组只包含 0 和 1 。 输入数组的长度是正整数,且不超过 10,000。 参考实现 示例 ......
个数 Leetcode 485

文心一言 VS 讯飞星火 VS chatgpt (82)-- 算法导论8.1 1题

# 一、如果用go语言,在一棵比较排序算法的决策树中,一个叶结点可能的最小深度是多少? ## 文心一言: 在一个排序决策树(如二叉搜索树)中,每个叶节点的最小深度等于输入数据中最大元素与最小元素之间的位距离。这是因为在最坏的情况下,每个比较都需要将最大元素向最小元素的路径移动,因此叶节点的最小深度就 ......
文心 导论 算法 chatgpt VS

[刷题记录Day22]Leetcode二叉树

# No.1 ## 题目 [二叉搜索树的最近公共祖先](https://leetcode.cn/problems/lowest-common-ancestor-of-a-binary-search-tree/) ## 思路 - 递归法 - BST特性如何利用?在BST中,公共祖先一定在p、q数值范围 ......
Leetcode Day 22

Day1

# Markdown学习 # 标题名字 ## 二级标题 ### 三级标题 #### 四级标题 ## 字体 **hello,world!** *hello,world!* ***hello,world!*** ~~hello,world!~~ ## 引用 > 选择狂神说java,走向人生巅峰 ## 分 ......
Day1 Day

leetcode 题库994——bfs典型解法(队列+递归实现)

class Solution: def orangesRotting(self, grid: list[list[int]]) -> int: m,n=len(grid),len(grid[0]) queue,good=[],[] def bfs(queue,good,m,n,grid): time ......
解法 队列 题库 leetcode 典型

[算法学习笔记][刷题笔记] 2023/8/26&8/27 解题报告状压 dp

[题单](https://www.luogu.com.cn/training/334619#information) ### 状压 dp 状压 dp是一种非常暴力的算法,它直接记录不同的状态,通过状态进行转移。 状压 dp可以解决 NP 类问题。它的原理是暴力枚举每一种可能的状态。所以它的复杂度是指 ......
笔记 算法 2023 amp 26

day8

适配器(Adaptors)是标准库中的一个通用概念,容器、迭代器和函数都有适配器。本质上,一个适配器是一种机制,能使某种事物的行为看起来像另外一种事物一样。 一个容器适配器(Container adaptors)接受一种已有的容器类型,使其行为看起来像一种不同的类型。标准库定义了三个序列容器适配器: ......
day8 day

LeetCode题库77.组合——dfs典型解法,递归+回溯+剪枝

class Solution: def combine(self, n: int, k: int): nums=[x+1 for x in range(n)] res,ans=[],[] def dfs(nums:list[int]): if len(ans)==k: ans_copy=ans.co ......
解法 题库 LeetCode 典型 dfs

leetcode_35. 搜索插入位置

题目描述 35. 搜索插入位置 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 输入: nums = [1,3,5,6], target = 5 输出: 2 输入: nums ......
leetcode 位置 35

vue--day73--getters的使用

1. 概念:当state中的数据需要经过加工后再使用时,可以使用getters加工。 2. 在```store.js```中追加```getters```配置 ```js ...... const getters = { bigSum(state){ return state.sum * 10 } ......
getters vue day 73

深度-高考后的分层之战和人生算法破圈(转渤海小吏)

谈高考之前先大概想明白一个根本的问题,社会的层级细分下来可以搞出十几20层,简化来看可以简要分为以下三层。第一,上层高护城河生产资料和权利的所有者。二,中层小型生产资料所有者和有产打工人。三基层也就是无产者,然后我们根据上面三个阶层来看一下每个层级的最优解和想法是啥?先来看上层建筑,既得利益者是希望 ......
小吏 算法 深度 人生

vuex--day72--vuex总结

1. 初始化数据、配置```actions```、配置```mutations```,操作文件```store.js``` ```js //引入Vue核心库 import Vue from 'vue' //引入Vuex import Vuex from 'vuex' //引用Vuex Vue.use ......
vuex day 72

vuex--day71--vuex 写的求和案例

1.store/index.js //改文件用于创建vuex 最为核心的 store import Vue from 'vue' //引入vuex import Vuex from 'vuex' Vue.use(Vuex) // 准备actions 用于响应组件中的动作 const actions= ......
vuex 案例 day 71

[代码随想录]Day28-贪心算法part02

## 题目:[122. 买卖股票的最佳时机 II](https://leetcode.cn/problems/best-time-to-buy-and-sell-stock-ii/) ### 思路: 假如第 0 天买入,第 3 天卖出,那么利润为:prices[3] - prices[0]。 相当于 ......
随想录 随想 算法 代码 part