2454. 下一个更大元素 IV(2023-12-12)
力扣每日一题
题目:2454. 下一个更大元素 IV
日期:2023-12-12
用时:35 m 09 s
时间:614ms
内存:57.18MB
代码:
class Solution {
public int[] secondGreaterElement(int[] nums) {
int[] res = new int[nums.length];
Arrays.fill(res, -1);
List<Integer> list1 = new ArrayList<>();
List<Integer> list2 = new ArrayList<>();
for (int i = 0; i < nums.length; i++) {
while (!list2.isEmpty() && nums[list2.get(list2.size ...
沈阳四家万达(2023-12-09、2023-12-10)
全运路万达8枚
铁西万达4枚
北一路万达16枚
太原街万达8枚
(摘自小红书https://www.xiaohongshu.com/explore/65758b310000000006020803?m_source=mengfanwetab)
2008. 出租车的最大盈利(2023-12-08)
力扣每日一题
题目:2008. 出租车的最大盈利
简短说明
今天的解题有点曲折,完全是一步一步优化来的,看上面的截图,最开始的超时,超时后我加了记忆化搜索,虽然通过了,但是执行时间不太理想,接下来我稍微优化了下,但是执行时间基本没动过,接下来,又尝试着去掉递归,这次效果很显著,执行时间直接从2000多毫秒降低到了18毫秒
过程
下面我分别把这四次的代码都展示出来,记录下每次的优化,代码展示顺序是按照上面的截图从下往上的
超出时间限制
class Solution {
public long maxTaxiEarnings(int n, int[][] rides) {
List<int[]>[] prices = new ArrayList[n+1];
for(int[] ride:rides){
if(prices[ride[1]]==null){
prices[ride[1]] = new ArrayList<> ...
1466. 重新规划路线(2023-12-07)
力扣每日一题
题目:1466. 重新规划路线
日期:2023-12-07
用时:45 m 36 s
时间:37ms
内存:69.64MB
代码:
class Solution {
public int minReorder(int n, int[][] connections) {
list = new List[n];
Arrays.setAll(list, k -> new ArrayList<>());
for (int[] connection : connections) {
int start = connection[0];
int end = connection[1];
list[start].add(new int[] {end, 1});
list[end].add(new int[] {start, 0& ...
2646. 最小化旅行的价格总和(2023-12-06)
力扣每日一题
题目:2646. 最小化旅行的价格总和
日期:2023-12-06
用时:30 m 14 s
时间:8ms
内存:42.98MB
思路:先统计旅行中每个节点路过的次数(dfs方法),再计算减半后的价格之和的最小值(dp方法),最后比较下减半和未减半的价格。dp方法中,对于相邻的父子节点有两种情况:
如果父节点价格不变,那么子节点的价格取减半和不变两种情况的最小值
如果父节点价格减半,那么子节点的价格只能不变
代码:每条路上通过的城市数量实际就是图中每个节点的子节点数量。
class Solution {
public int minimumTotalPrice(int n, int[][] edges, int[] price, int[][] trips) {
list = new ArrayList[n];
for(int i=0;i<n;i++){
list[i] = new ArrayList<>();
}
...
2477. 到达首都的最少油耗(2023-12-05)
力扣每日一题
题目:2477. 到达首都的最少油耗
日期:2023-12-05
用时:34 m 15 s
时间:37ms
内存:84.8MB
思路:分别计算每条路上通过的城市数量(数量/座位数,向上取整),然后求和,这里每条路上通过的城市数量实际就是图中每个节点的子节点数量。
代码:每条路上通过的城市数量实际就是图中每个节点的子节点数量。
class Solution {
public long minimumFuelCost(int[][] roads, int seats) {
int size = roads.length+1;
List<Integer>[] list = new ArrayList[size];
for(int i=0;i<size;i++){
list[i] = new ArrayList<>();
}
for(int[] road:ro ...
1038. 从二叉搜索树到更大和树(2023-12-04)
力扣每日一题
题目:1038. 从二叉搜索树到更大和树
日期:2023-12-04
用时:12 m 23 s
时间:0ms
内存:39.39MB
代码:
/**
* Definition for a binary tree node.
* public class TreeNode {
* int val;
* TreeNode left;
* TreeNode right;
* TreeNode() {}
* TreeNode(int val) { this.val = val; }
* TreeNode(int val, TreeNode left, TreeNode right) {
* this.val = val;
* this.left = left;
* this.right = right;
* }
* }
* ...
2661. 找出叠涂元素(2023-12-01)
力扣每日一题
题目:2661. 找出叠涂元素
日期:2023-12-01
用时:7 m 4 s
时间:26ms
内存:67.45MB
代码:
class Solution {
public int firstCompleteIndex(int[] arr, int[][] mat) {
Map<Integer,int[]> map = new HashMap<>();
for(int i=0;i<mat.length;i++){
for(int j=0;j<mat[0].length;j++){
map.put(mat[i][j],new int[]{i,j});
}
}
int[] xc = new int[mat.length];
int[] yc = ...
1657. 确定两个字符串是否接近(2023-11-30)
力扣每日一题
题目:1657. 确定两个字符串是否接近
日期:2023-11-30
用时:21 m 07 s
时间:11ms
内存:43.70MB
代码:
class Solution {
public boolean closeStrings(String word1, String word2) {
if(word1.length()!=word2.length()){
return false;
}
int[] arr1 = new int[26];
int[] arr2 = new int[26];
int mask1=0;
int mask2=0;
for(int i=0;i<word1.length();i++){
arr1[word1.charAt(i)-'a']++;
...
2336. 无限集中的最小数字(2023.11.29)
力扣每日一题
题目:2336. 无限集中的最小数字
日期:2023-11-29
用时:3 m 50 s
时间:71ms
内存:43.68MB
代码:
class SmallestInfiniteSet {
List<Integer> list;
public SmallestInfiniteSet() {
list = new ArrayList<>();
for(int i=1;i<1001;i++){
list.add(i);
}
Collections.sort(list);
}
public int popSmallest() {
int num = list.get(0);
list.remove(0);
return num;
}
publ ...
1670. 设计前中后队列(2023.11.28)
力扣每日一题
题目:1670. 设计前中后队列
日期:2023-11-28
用时:8 m 23 s
时间:6ms
内存:43.55MB
代码:
class FrontMiddleBackQueue {
List<Integer> list;
public FrontMiddleBackQueue() {
list = new ArrayList<>();
}
public void pushFront(int val) {
list.add(0,val);
}
public void pushMiddle(int val) {
list.add(list.size()/2,val);
}
public void pushBack(int val) {
list.add(val);
}
...
907. 子数组的最小值之和(2023.11.27)
力扣每日一题
题目:907. 子数组的最小值之和
日期:2023-11-27
用时:14 m 14 s
时间:19ms
内存:47.42MB
代码:
class Solution {
public int sumSubarrayMins(int[] arr) {
int n=arr.length;
int res = 0;
int mod=1000000007;
Deque<Integer> deque=new ArrayDeque<>();
for (int i=0; i <= n; i++) {
int cur = i<n?arr[i] : 0;
while (!deque.isEmpty() && arr[deque.peekLast()] >= cur) {
...
Python静态爬虫
什么是Python静态爬虫
Python静态爬虫是一种使用Python编写的网络爬虫程序,用于从互联网上抓取网页内容。与动态爬虫不同,静态爬虫只获取网页的HTML源代码,不执行JavaScript代码。因此,静态爬虫适用于那些主要通过HTML展示信息的网站。
什么是爬虫
网络爬虫,又被称为网页蜘蛛、网络机器人等,是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。通俗的讲,就是通过程序去获取web页面上自己想要的数据,也就是自动抓取数据。
你可以将每个爬虫视作你的"分身"
,它的基本操作就像模拟人的行为去各个网站溜达,点点按钮,查查数据,或者把看到的信息背回来。比如搜索引擎离不开爬虫,比如百度搜索引擎的爬虫叫作百度蜘蛛(Baiduspider)。百度蜘蛛每天会在海量的互联网信息中进行爬取,爬取优质信息并收录,当用户在百度搜索引擎上检索对应关键词时,百度将对关键词进行分析处理,从收录的网页中找出相关网页,按照一定的排名规则进行排序并将结果展现给用户。
爬虫可以做什么
爬虫可以用于爬取图片、视频或其他任何可以通过浏览器访问的资源。通过编写爬虫程序,可以模拟浏览器向 ...
Windows系统下设置程序开机自启(WinSW)
介绍
WinSW可以将Windows上的任何程序作为系统服务进行管理,已达到开机自启的效果。
支持的平台
WinSW需要运行在拥有.NET Framework 4.6.1或者更新版本的Windows平台下
下载
github: 下载地址
百度网盘(v2.12.0):WinSW-x86 WinSW-x64
使用说明
全局应用
获取WinSW.exe文件
编写myapp.xml文件(详细内容看[XML配置文件](# XML配置文件))
运行winsw install myapp.xml [options]安装服务,使其写入系统服务中
运行winsw start myapp.xml 开启服务
运行winsw status myapp.xml 查看服务的运行状态
单一应用
获取WinSW.exe文件并将其更名为你的服务名(例如myapp.exe).
编写myapp.xml文件
请确保前面两个文件在同一目录
运行myapp.exe install [options]安装服务,使其写入系统服务中
运行myapp.exe start开启服务
运行myapp status myap ...
Windows系统下设置程序开机自启(WinSW)
介绍
WinSW可以将Windows上的任何程序作为系统服务进行管理,已达到开机自启的效果。
支持的平台
WinSW需要运行在拥有.NET Framework 4.6.1或者更新版本的Windows平台下
下载
github: 下载地址
百度网盘(v2.12.0):WinSW-x86 WinSW-x64
使用说明
全局应用
获取WinSW.exe文件
编写myapp.xml文件(详细内容看[XML配置文件](# XML配置文件))
运行winsw install myapp.xml [options]安装服务,使其写入系统服务中
运行winsw start myapp.xml 开启服务
运行winsw status myapp.xml 查看服务的运行状态
单一应用
获取WinSW.exe文件并将其更名为你的服务名(例如myapp.exe).
编写myapp.xml文件
请确保前面两个文件在同一目录
运行myapp.exe install [options]安装服务,使其写入系统服务中
运行myapp.exe start开启服务
运行myapp status myap ...








