算法leetcode day 30
LeetCode Top100: 环形链表(python)
给你一个链表的头节点 head ,判断链表中是否有环。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。注意:pos 不作为参数进行传递 。仅仅是为了标识链表的 ......
贪心算法基础及leetcode例题
#理论 **本质:**找到每个阶段的局部最优,然后去推导得到全局最优 **两个极端:**常识&&很难: 很多同学通过了贪心的题目,但都不知道自己用了贪心算法,因为贪心有时候就是常识性的推导,所以会认为本应该就这么做! 套路: 贪心没有套路,说白了就是常识性推导加上举反例 做题的时候,只要想清楚 局部 ......
【ACM算法竞赛日常训练】DAY16【奇♂妙拆分】【区区区间间间】【小AA的数列】数学 | 位运算 | 前缀和
DAY16共3题: 奇♂妙拆分(简单数学) 区区区间间间(单调栈) 小AA的数列(位运算dp) 🎈 作者:Eriktse 🎈 简介:19岁,211计算机在读,现役ACM银牌选手🏆力争以通俗易懂的方式讲解算法!❤️欢迎关注我,一起交流C++/Python算法。(优质好文持续更新中……)🚀 🎈 ......
AES算法 前端JavaScript加密 后端Java解密
CryptoJS https://cdnjs.cloudflare.com/ajax/libs/crypto-js/4.1.1/crypto-js.min.js 中文文档 https://cryptojs.gitbook.io/docs/ var AES = function () { const ......
【DP】LeetCode 132. 分割回文串 II
题目链接 132. 分割回文串 II 思路 分析动态规划题目的时候只需要考虑最后一个阶段,因为所有的阶段转化都是相同的,考虑最后一个阶段容易发现规律 在数组的动态规划问题中,一般 dp[i] 都是表示以 nums[i] 为结尾的状态;dp[i][j] 分别表示 以 nums1[i] 和 nums2[ ......
微信医保授权签名 PHP算法
最近在开发微信的时候、遇到了需要 秘钥签名的地方; 官方只提供了JAVA代码、让PHP的我一头雾水,踩过无数坑后终于签名通过、直接上签名函数; public function keyJiaMi($partnerSecret,$partnerId,$timestamp){ return hash_hm ......
提高mysql千万级大数据SQL查询优化30条经验(Mysql索引优化注意)
对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:select id from t where num is null可以在num上设置 ......
Day 25 25.1 Scrapy框架之全站爬虫(CrawlSpider)
Scrapy框架之全站爬虫(CrawlSpider) 在之前 Scrapy 的基本使用当中,spider 如果要重新发送请求的话,就需要自己解析页面,然后发送请求。 而 CrawlSpider 则可以通过设置 url 条件自动发送请求。 LinkExtractors CrawlSpider 是 Sp ......
Day 25 25.2 Scrapy框架之分布式爬虫(scrapy_redis)
分布式爬虫(scrapy_redis) 分布式爬虫是指将一个大型的爬虫任务分解成多个子任务,由多个爬虫进程或者多台机器同时执行的一种爬虫方式。 在分布式爬虫中,每个爬虫进程或者机器都具有独立的爬取能力,可以独立地爬取指定的网页或者网站,然后将爬取到的数据进行汇总和处理。 分布式爬虫相对于单机爬虫的优 ......
LeetCode Top100: 只出现一次的数字(python)
给你一个 非空 整数数组 nums ,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。 你必须设计并实现线性时间复杂度的算法来解决此问题,且该算法只使用常量额外空间。 示例 1 : 输入:nums = [2,2,1] 输出:1 示例 2 : 输入:nums = [4, ......
【uniapp】【外包杯】学习笔记day07 | 微信小程序轮播图、分类导航、楼层图的开发与实现
1、创建home分支 2、配置网络请求 由于平台的限制,现需要建立uni-app中使用第三方包请求网络数据请求 在 uni-app 项目中使用 @escook/request-miniprogram 第三方包发起网络数据请求 1.轮播图的外层容器是swiper2.每个轮播项是swiper-item ......
代码随想录day01数组part01-704、27
package LeetCode.arraypart01; /** * 704.二分查找 * 给定一个n个元素有序的(升序)整型数组 nums 和一个目标值target ,写一个函数搜索 nums 中的 target, * 如果目标值存在返回下标,否则返回 -1。 */ /** * 思路:设定左右指 ......
2023-04-19 算法面试中常见的递归和回溯问题
递归和回溯 0 递归与回溯的异同 参考文章 递归与回溯 递归与回溯的理解 回溯和递归区别 比较 | | 递归 | 回溯 | | | | | | 定义 | 为了描述问题的某一状态,必须用到该状态的上一状态,而描述上一状态,又必须用到上一状态的上一状态……这种用自已来定义自己的方法,称为递归定义。形式如 ......
Leetcode 206. 反转链表
初次写代码时,被边界条件各种ban,总是忽略,遂放弃,以下整理出一些评论区大佬边界条件不明显或不需要边界条件的解法。边界条件繁琐的代码不要背,否则笔试各种ban。 比较经典的是下面这种写法,有点抽象,根本思想是有三个指针: 第一个指针在反转段前一个节点固定; 第二个指针是当初的第一个需要反转的节点, ......
day1
Markdown 标题 三级标题 四级标题 字体 hello,world hello,world hello,world hello,world 引用 自信巅 分割线 图片 超链接 狂神说java 列表 a b c a b c 表格 mzxbsr 代码 hello ......
团队项目Scrum冲刺-day7
| 这个作业属于哪个课程 | 2023软件工程—双学位 | | | | | 这个作业要求在哪里 | 团队作业4——项目冲刺 | | 这个作业目标 | 团队项目Scrum冲刺-day7 | 1.会议 1.1昨日已完成工作 | 队员 | 任务 | | | | | 翟张博、沈炜杰 | 补充了部分文件的全局 ......
leetcode_打卡08
leetcode_打卡08 题目:334. 递增的三元子序列 思路:分成左边L和右边R,只要找到该数左边比它小的,右边比他大的即可 代码: class Solution { public boolean increasingTriplet(int[] nums) { int n=nums.lengt ......
Day8
3.代码示例 #include<iostream> #define N 10 using namespace std; int main(){ int a[N]; int i,j,t; for(i=0;i<N;i++){ cin>>a[i]; } for(i=0;i<N-1;i++){ for(j= ......
day50(2023.4.19)
1.数据库范式(C类) 2.第一范式(1NF)C类 3.第二范式(2NF)C类 4.第三范式(3NF)C类 5.数据库设计范式总结 C类 6.数据库表关系 7.一对多关系 8.一对一关系 9.多对多关系 day50(2023.4.19) ......
day02-2-商家查询缓存
功能02-商家查询缓存 3.商户详情缓存查询 3.1什么是缓存? 缓存就是数据交换的缓冲区(称作Cache),是存储数据的临时地方,一般读写性能较高。 缓存的作用: 降低后端负载 提高读写效率,降低响应时间 缓存的成本: 数据一致性成本 代码维护成本 运维成本 3.2需求说明 如下,当我们点击商店详 ......
代码随想录算法训练营第一天| 704. 二分查找、27. 移除元素。
#目录 一、基础知识 - 二分法解题思路 - 数组中删除的思路 二、题目一:704.二分查找 三、题目二:27.移除元素 #一、基础知识 1.二分法解题思路 要求数组必须是有序排列,仅需要根据题目的条件去确定搜索区间。 第一个关键点:区间的取值。 一般有左闭右闭,左闭右开,左开右闭三种,这个的选择不 ......
【LeetCode动态规划#09】完全背包问题实战,其二(零钱兑换和完全平方数--求物品放入个数)
零钱兑换 力扣题目链接(opens new window) 给定不同面额的硬币 coins 和一个总金额 amount。编写一个函数来计算可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回 -1。 你可以认为每种硬币的数量是无限的。 示例 1: 输入:coins = [1 ......
选举算法汇总(redis、zookeeper、kafka)
1.redis 哨兵(sentinel)模式 背景:哨兵模式,节点类型包括master、slave、和sentinel,master-slave节点和主从模式的作用是相同的;多了sentinel节点提高服务的可用性和稳定性 触发原因:master(简称A节点)节点异常,当一个sentinel发现A节 ......
LeetCode/分隔数组以得到最大和
给你一个整数数组 arr,请你将该数组分隔为长度 最多 为 k 的一些(连续)子数组。 分隔完成后,每个子数组的中的所有值都会变为该子数组中的最大值。 返回将数组分隔变换后能够得到的元素最大和 ###一. 动态规划(正向递推) 分析:数组的最大和是和子数组最大和关联的,对子问题的优化可以带来对整个问 ......
m基于ID3决策树算法的能量管理系统matlab仿真
1.算法描述 ID3算法是一种贪心算法,用来构造决策树。ID3算法起源于概念学习系统(CLS),以信息熵的下降速度为选取测试属性的标准,即在每个节点选取还尚未被用来划分的具有最高信息增益的属性作为划分标准,然后继续这个过程,直到生成的决策树能完美分类训练样例。 ID3算法最早是由罗斯昆(J. Ros ......
扎实打牢数据结构算法根基,从此不怕算法面试系列之008 week01 02-08 通过常见算法,对常见的时间复杂度做梳理
#1、线性查找法的复杂度 public static <E> int search(E [] data,E target){ for (int i = 0; i < data.length; i++) if (data[i].equals(target)) return i; return -1; ......
初学者代码训练Day3(c/c++)
题目 中国古代数学家张丘建在他的《算经》中提出了一个著名的“百钱百鸡问题”:一只公鸡值五钱,一只母鸡值三钱,三只小鸡值一钱,现在要用百钱买百鸡,请问公鸡、母鸡、小鸡各多少只? 流程图: 代码: 1 #include<iostream> 2 using namespace std; 3 int mai ......
Kraken序列分类算法
当然可以!kraken是一种流行的高效序列分类器,使用 k-mer (k个连续碱基组成的子串)方法对不同分类下的序列进行分类。以下是kraken序列分类算法简要说明: 数据预处理 首先,kraken会将参考数据库中的序列分割为固定长度的 k-mers,这些k-mer会被记录到一个查询表中。 样品序列 ......
35. 搜索插入位置(leetcode)
https://leetcode.cn/problems/search-insert-position/ 简单二分,这里可以判断return,相当于剪枝 class Solution { public: int searchInsert(vector<int>& nums, int target) ......
704. 二分查找(leetcode)
https://leetcode.cn/problems/binary-search/ 简单二分 class Solution { public: int search(vector<int>& nums, int target) { int l=0,r=nums.size()-1; while(l ......