C++数据结构学习(顺序表)
文章目录
- 顺序表
- 杭州电子科技大学在线评测
- 2008 数值统计
- 使用顺序表实现
- 2014 青年歌手大奖赛_评委会打分
- Leetcode题目
- [LCP 01. 猜数字](https://leetcode.cn/problems/guess-numbers/description/)
- [LCP 06. 拿硬币](https://leetcode.cn/problems/na-ying-bi/description/)
- [2057. 值相等的最小索引](https://leetcode.cn/problems/smallest-index-with-equal-value/description/)
- [485. 最大连续 1 的个数](https://leetcode.cn/problems/max-consecutive-ones/description/)
- 2006.差的绝对值为K的数对题目
- [1464. 数组中两元素的最大乘积](https://leetcode.cn/problems/maximum-product-of-two-elements-in-an-array/description/)
- [2535. 数组元素和与数字和的绝对差](https://leetcode.cn/problems/difference-between-element-sum-and-digit-sum-of-an-array/description/)
- [2656. K 个元素的最大和](https://leetcode.cn/problems/maximum-sum-with-exactly-k-elements/description/)
- [2367. 算术三元组的数目](https://leetcode.cn/problems/number-of-arithmetic-triplets/description/)
- [27. 移除元素](https://leetcode.cn/problems/remove-element/description/)
- [1920. 基于排列构建数组](https://leetcode.cn/problems/build-array-from-permutation/description/)
- [1929. 数组串联](https://leetcode.cn/problems/concatenation-of-array/description/)
- [1431. 拥有最多糖果的孩子](https://leetcode.cn/problems/kids-with-the-greatest-number-of-candies/description/)
- [1991. 找到数组的中间位置](https://leetcode.cn/problems/find-the-middle-index-in-array/description/)
- [540. 有序数组中的单一元素](https://leetcode.cn/problems/single-element-in-a-sorted-array/description/)
- [119. 杨辉三角 II](https://leetcode.cn/problems/pascals-triangle-ii/description/)
- [3065. 超过阈值的最少操作数 I](https://leetcode.cn/problems/minimum-operations-to-exceed-threshold-value-i/description/)
- [2951. 找出峰值](https://leetcode.cn/problems/find-the-peaks/description/)
- [2960. 统计已测试设备](https://leetcode.cn/problems/count-tested-devices-after-test-operations/description/)
- [2824. 统计和小于目标的下标对数目](https://leetcode.cn/problems/count-pairs-whose-sum-is-less-than-target/description/)
- [2859. 计算 K 置位下标对应元素的和](https://leetcode.cn/problems/sum-of-values-at-indices-with-k-set-bits/description/)
- [2341. 数组能形成多少数对](https://leetcode.cn/problems/maximum-number-of-pairs-in-array/description/)
- [3158. 求出出现两次数字的 XOR 值](https://leetcode.cn/problems/find-the-xor-of-numbers-which-appear-twice/description/)
顺序表
杭州电子科技大学在线评测
杭州电子科技大学在线评测官网
2008 数值统计
#include <iostream>
using namespace std;int main()
{int n;while (cin >> n) {if (n == 0) {break;}int negative = 0;int zero = 0;int positive = 0;for (int i = 1; i <= n; i++) {double num;cin >> num;if (num < 0) {negative++;}if (num == 0) {zero++;}if (num > 0) {positive++;}}cout << negative << ' ' << zero << ' ' << positive << endl;}
}
使用顺序表实现
#include <iostream>
using namespace std;// 顺序表模板
#define eleType doublestruct SequentialList {eleType *elements;int size;int capacity;
};// 初始化顺序表
void initializeList(SequentialList* list, int capacity) {list->elements = new eleType[capacity];list->size = 0;list->capacity = capacity;
}// 销毁顺序表
void destroyList(SequentialList* list) {delete[] list->elements;
}// 获取顺序表的大小
eleType size(SequentialList* list) {return list->size;
}// 判断顺序表是否为空
eleType isEmpty(SequentialList* list) {return list->size == 0;
}// 顺序表的元素插入
eleType insert(SequentialList* list, int index, eleType element) {if (index < 0 || index > list->size) {throw std::invalid_argument("Invalid index");}if (list->size == list->capacity) {int newCapacity = list->capacity * 2;eleType* newElements = new eleType[newCapacity];for (int i = 0; i < list->size; ++i) {newElements[i] = list->elements[i];}delete[] list->elements;list->elements = newElements;list->capacity = newCapacity;}for (int i = list->size; i > index; i--) {list->elements[i] = list->elements[i - 1];}list->elements[index] = element;list->size++;
}// 顺序表的元素删除
void deleteElement(SequentialList* list, int index) {if (index < 0 || index >= list->size) {throw std::invalid_argument("Invalid index");}for (int i = index; i < list->size - 1; ++i) {list->elements[i] = list->elements[i + 1];}list->size--;
}// 顺序表寻找元素是否存在
eleType findElement(SequentialList* list, eleType element) {for (int i = 0; i < list->size; ++i) {if (list->elements[i] == element) {return i;}}return -1;
}// 获取元素
eleType getElement(SequentialList* list, int index) {if (index < 0 || index >= list->size) {throw std::invalid_argument("Invalid index");}return list->elements[index];
}// 修改元素
void updateElement(SequentialList* list, int index, eleType value) {if (index < 0 || index >= list->size) {throw std::invalid_argument("Invalid index");}list->elements[index] = value;
}int main()
{int n;while (cin >> n && n) {SequentialList s;initializeList(&s, 1);for (int i = 0; i < n; i++) {eleType x;cin >> x;insert(&s, i, x);}int pcnt = 0, zcnt = 0, ncnt = 0;for (int i = 0; i < size(&s); i++) {eleType element = getElement(&s, i);if (element > 1e-8) {pcnt++;}else if (element < -1e-8) {ncnt++;}else {zcnt++;}}cout << ncnt << ' ' << zcnt << ' ' << pcnt << endl;}
}
2014 青年歌手大奖赛_评委会打分
#include <iostream>
using namespace std;// 顺序表模板
#define eleType doublestruct SequentialList {eleType* elements;int size;int capacity;
};// 初始化顺序表
void initializeList(SequentialList* list, int capacity) {list->elements = new eleType[capacity];list->size = 0;list->capacity = capacity;
}// 销毁顺序表
void destroyList(SequentialList* list) {delete[] list->elements;
}// 获取顺序表的大小
int size(SequentialList* list) {return list->size;
}// 判断顺序表是否为空
eleType isEmpty(SequentialList* list) {return list->size == 0;
}// 顺序表的元素插入
void insert(SequentialList* list, int index, eleType element) {if (index < 0 || index > list->size) {throw std::invalid_argument("Invalid index");}if (list->size == list->capacity) {int newCapacity = list->capacity * 2;eleType* newElements = new eleType[newCapacity];for (int i = 0; i < list->size; ++i) {newElements[i] = list->elements[i];}delete[] list->elements;list->elements = newElements;list->capacity = newCapacity;}for (int i = list->size; i > index; i--) {list->elements[i] = list->elements[i - 1];}list->elements[index] = element;list->size++;
}// 顺序表的元素删除
void deleteElement(SequentialList* list, int index) {if (index < 0 || index >= list->size) {throw std::invalid_argument("Invalid index");}for (int i = index; i < list->size - 1; ++i) {list->elements[i] = list->elements[i + 1];}list->size--;
}// 顺序表寻找元素是否存在
eleType findElement(SequentialList* list, eleType element) {for (int i = 0; i < list->size; ++i) {if (list->elements[i] == element) {return i;}}return -1;
}// 获取元素
eleType getElement(SequentialList* list, int index) {if (index < 0 || index >= list->size) {throw std::invalid_argument("Invalid index");}return list->elements[index];
}// 修改元素
void updateElement(SequentialList* list, int index, eleType value) {if (index < 0 || index >= list->size) {throw std::invalid_argument("Invalid index");}list->elements[index] = value;
}int main()
{int n;while (cin >> n) {SequentialList s;initializeList(&s, n);eleType max_score = -100000000;eleType min_score = 100000000;eleType sum = 0;for (int i = 0; i < n; i++) {eleType num;cin >> num;insert(&s, i, num);}for (int i = 0; i < size(&s); i++) {if (getElement(&s, i) > max_score) {max_score = getElement(&s, i);}if (getElement(&s, i) < min_score) {min_score = getElement(&s, i);}sum += getElement(&s, i);}sum -= max_score;sum -= min_score;printf("%.2f\n", sum / (n - 2));}
}
Leetcode题目
LCP 01. 猜数字
class Solution {
public:int game(vector<int>& guess, vector<int>& answer) {int count = 0;for(int i = 0; i < 3; i++) {if(guess[i] == answer[i]) {count++;}}return count;}
};
LCP 06. 拿硬币
class Solution {
public:int minCount(vector<int>& coins) {int count = 0;for(int i = 0; i < coins.size(); i++) {count += (coins[i] + 1)/2;}return count;}
};
2057. 值相等的最小索引
class Solution {
public:int smallestEqual(vector<int>& nums) {for(int i = 0; i < nums.size(); i++) {if(i % 10 == nums[i]) {return i;}}return -1;}
};
485. 最大连续 1 的个数
class Solution {
public:int findMaxConsecutiveOnes(vector<int>& nums) {int count = 0;int end = 0;for(int i = 0; i < nums.size(); i++) {if(nums[i] == 1) {count = count + 1;if(count > end) {end = count;}} else {count = 0;}}return end;}
};
2006.差的绝对值为K的数对题目
class Solution {
public:int countKDifference(vector<int>& nums, int k) {int count = 0;for(int i = 0; i < nums.size(); i++) {for(int j = i + 1; j < nums.size(); j++) {if(abs(nums[i] - nums[j]) == k) {count++;}}}return count;}
};
1464. 数组中两元素的最大乘积
class Solution {
public:int maxProduct(vector<int>& nums) {int maxIndex = 0;for(int i = 0; i < nums.size(); i++) {if(nums[i] > nums[maxIndex]) {maxIndex = i;}}int secMaxIndex = -1;for(int i = 0; i < nums.size(); i++) {if(i != maxIndex) {if(secMaxIndex == -1 || nums[i] > nums[secMaxIndex]) {secMaxIndex = i;}}}return (nums[maxIndex] - 1) * (nums[secMaxIndex] - 1);}
};
2535. 数组元素和与数字和的绝对差
class Solution {
public:int differenceOfSum(vector<int>& nums) {int x = 0, y = 0;for(int i = 0; i < nums.size(); i++) {x += nums[i];while(nums[i]) {y += nums[i] % 10;nums[i] = nums[i] / 10;}}return abs(x - y);}
};
2656. K 个元素的最大和
class Solution {
public:int maximizeSum(vector<int>& nums, int k) {int count = 0;while(k--) {int maxIndex = 0;for(int i = 0; i < nums.size(); i++) {if(nums[i] > nums[maxIndex]) {maxIndex = i;}}count += nums[maxIndex];nums[maxIndex] += 1;}return count;}
};
2367. 算术三元组的数目
class Solution {
public:int arithmeticTriplets(vector<int>& nums, int diff) {int count = 0;for(int i = 0; i < nums.size(); i++) {for(int j = i + 1; j < nums.size(); j++) {if(nums[j] - nums[i] == diff) {for(int k = j + 1; k < nums.size(); k++) {if(nums[k] - nums[j] == diff) {count++;}}}}}return count;}
};
27. 移除元素
class Solution {
public:int removeElement(vector<int>& nums, int val) {int l = 0;int r = nums.size() - 1;while(l <= r) {if (nums[l] == val) {int temp = nums[l];nums[l] = nums[r];nums[r] = temp;r--;} else {l++;}}return r + 1;}
};
1920. 基于排列构建数组
class Solution {
public:vector<int> buildArray(vector<int>& nums) {vector<int> result;for(int i = 0; i < nums.size(); i++) {int ans = nums[nums[i]];result.push_back(ans);}return result;}
};
1929. 数组串联
class Solution {
public:vector<int> getConcatenation(vector<int>& nums) {vector<int> result;for(int i = 0; i < nums.size(); i++) {result.push_back(nums[i]);}for(int i = 0; i < nums.size(); i++) {result.push_back(nums[i]);}return result;}
};
1431. 拥有最多糖果的孩子
class Solution {
public:vector<bool> kidsWithCandies(vector<int>& candies, int extraCandies) {vector<bool> result;for(int i = 0; i < candies.size(); i++) {int maxIndex = 0;candies[i] += extraCandies;for(int j = 0; j < candies.size(); j++) {if(candies[j] > candies[maxIndex]) {maxIndex = j;}}if(candies[i] == candies[maxIndex]) {result.push_back(true);} else {result.push_back(false);}candies[i] -= extraCandies;}return result;}
};
1991. 找到数组的中间位置
class Solution {
public:int findMiddleIndex(vector<int>& nums) {for(int i = 0; i < nums.size(); i++) {int l = 0;int r = 0;for(int j = 0; j < i; j++) {l += nums[j];}for(int j = i + 1; j < nums.size(); j++) {r += nums[j];}if (l == r) {return i;}}return -1;}
};
540. 有序数组中的单一元素
class Solution {
public:int singleNonDuplicate(vector<int>& nums) {for(int i = 0; i < nums.size(); i++) {if(i == 0) {if(nums.size() == 1 || nums[i] != nums[i + 1]) {return nums[i];}} else if(i == nums.size() - 1) {if(nums[i] != nums[i - 1]) {return nums[i];}} else {if(nums[i - 1] != nums[i] && nums[i] != nums[i + 1]) {return nums[i];}}}return 0;}
};
119. 杨辉三角 II
class Solution {
public:vector<int> getRow(int rowIndex) {int nums[34][34];for(int i = 0; i <= rowIndex; i++) {for(int j = 0; j <= i; j++) {if(j == 0 || i == j) {nums[i][j] = 1;} else {nums[i][j] = nums[i-1][j] + nums[i-1][j-1];}}}vector<int> result;for(int j = 0; j <= rowIndex; j++) {result.push_back(nums[rowIndex][j]);}return result;}
};
3065. 超过阈值的最少操作数 I
class Solution {
public:int minOperations(vector<int>& nums, int k) {int count = 0;for(int i = 0; i < nums.size(); i++) {if(nums[i] < k) {count++;}}return count;}
};
2951. 找出峰值
class Solution {
public:vector<int> findPeaks(vector<int>& mountain) {vector<int> result;for(int i = 1; i < mountain.size() - 1; i++) {if((mountain[i] > mountain[i - 1]) && (mountain[i] > mountain[i + 1])) {result.push_back(i);}}return result;}
};
2960. 统计已测试设备
class Solution {
public:int countTestedDevices(vector<int>& batteryPercentages) {int count = 0;for(int i = 0; i < batteryPercentages.size(); i++) {if(batteryPercentages[i] > 0) {count++;for(int j = i + 1; j < batteryPercentages.size(); j++) {batteryPercentages[j] = max(0, batteryPercentages[j] - 1);}}}return count;}
};
2824. 统计和小于目标的下标对数目
class Solution {
public:int countPairs(vector<int>& nums, int target) {int count = 0;for(int i = 0; i < nums.size(); i++) {for(int j = i + 1; j < nums.size(); j++) {if(nums[i] + nums[j] < target) {count++;}}}return count;}
};
2859. 计算 K 置位下标对应元素的和
class Solution {
public:int sumIndicesWithKSetBits(vector<int>& nums, int k) {int sum = 0;for(int i = 0; i < nums.size(); i++) {int num = i;int count = 0;while(num) {if(num & 1) {count++;}num >>= 1;}if(count == k) {sum += nums[i];}}return sum;}
};
2341. 数组能形成多少数对
class Solution {
public:vector<int> numberOfPairs(vector<int>& nums) {int count = 0;bool judge[100] = {0};for(int i = 0; i < nums.size(); i++) {for(int j = 0; j < i; j++) {if(judge[j] == true) {continue;}if(nums[i] == nums[j]) {judge[i] = judge[j] = true;count++;break;}}}return {count, (int)nums.size() - 2 * count};}
};
3158. 求出出现两次数字的 XOR 值
class Solution {
public:int duplicateNumbersXOR(vector<int>& nums) {int count = 0;long visited = 0;for(int i = 0; i < nums.size(); i++) {int x = nums[i];if(visited & ((long)1<<x)) {count ^= x;} else {visited |= ((long)1<<x);}}return count;}
};
相关文章:
C++数据结构学习(顺序表)
文章目录 顺序表杭州电子科技大学在线评测2008 数值统计使用顺序表实现 2014 青年歌手大奖赛_评委会打分 Leetcode题目[LCP 01. 猜数字](https://leetcode.cn/problems/guess-numbers/description/)[LCP 06. 拿硬币](https://leetcode.cn/problems/na-ying-bi/description/)[20…...

springboot宠物用品商城系统-前端-计算机毕业设计源码74346
摘要 基于微信小程序的宠物用品商城系统是一个集商品展示、在线购物、支付结算、用户管理等功能于一体的综合性电商平台。该系统充分利用微信小程序的便捷性和用户基础,为宠物爱好者提供了一个方便、快捷的购物体验。 同时,该系统还具备完善的用户管理功…...

【vue预览PDF文件的几种方法】
vue展示PDF文件的几种方法 使用Vue插件 你需要安装vue-pdf-embed: npm install vue-pdf-embed<template><div class"pdf-container"><VuePdfEmbed :src"pdfUrl" /></div> </template><script setup lang"ts"…...

学习安卓开发遇到的问题(未解决版,有没有人帮我看看,大哭,感谢)
问题1:学习禁用与恢复按钮中: java代码报错:报错代码是 R.id.btn_enable;case R.id.btn_disable;case R.id.btn_test: 代码如下:(实现功能在代码后面) package com.example.apptest;import static java.…...

C++必修:STL之vector的模拟实现
✨✨ 欢迎大家来到贝蒂大讲堂✨✨ 🎈🎈养成好习惯,先赞后看哦~🎈🎈 所属专栏:C学习 贝蒂的主页:Betty’s blog 为了让我们更加深入理解vector,接下来我们将模拟实现一个简易版的vect…...

Unity Camera
课程目标 1. 了解摄像机(camera)不同视角的设计与实现;2. 感受在不同摄像机视角下观察虚拟场景。 喜欢玩游戏或者看3D动漫的朋友可以回忆在虚拟场景中摄像头的运动变化带来的视觉感受,例如:摄像头给场景中的主角来个…...

CSS雷达光波效果(前端雷达光波效果)
前言 CSS雷达光波效果是一种视觉动画效果,常用于模仿雷达扫描或检测的视觉反馈。这种效果通常涉及到动态的圆形或弧形图案,它们从一个中心点向外扩散,类似于水面上的涟漪或雷达扫描线。以下是创建CSS雷达光波效果的一些关键技术和步骤&#…...

【C语言】【数据结构】冒泡排序及优化
一、算法思想 冒泡排序是一种简单的排序算法。一次从前往后地走访待排序的元素序列被称为一趟,每一趟都会把相邻的两个元素的错误顺序交换,将当前趟次中最大或者最小的元素像“冒泡泡”一样冒到最后面,反复地走访元素序列,直到所有…...

3种 Ajax 方式:原生、jQuery、axios
毋庸多言,Ajax 技术在网页中是划时代的进步。学会它,可以说掌握了一招半式,不再是门外汉了。 这里将 3 种 Ajax 方式一并呈上。 感谢 https://run.uv.cc/ 平台,以及 /api 接口 https://andi.cn/page/621639.html https://andi…...
Node.js 根据表结构动态生成目标代码
文章目录 前言项目背景使用的技术栈步骤一:设置 Node.js 项目步骤二:连接 SQL Server 数据库步骤三:查询数据库表结构步骤四:生成模板代码步骤五:整合所有功能总结 前言 在现代的前端开发中,使用 Vue3 搭配…...

渗透测试实战—云渗透(AK/SK泄露)
免责声明:文章来源于真实渗透测试,已获得授权,且关键信息已经打码处理,请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失,均由使用者本…...

【机器学习】机器学习与医疗健康在疾病预测中的融合应用与性能优化新探索
文章目录 引言第一章:机器学习在医疗健康中的应用1.1 数据预处理1.1.1 数据清洗1.1.2 数据归一化1.1.3 特征工程 1.2 模型选择1.2.1 逻辑回归1.2.2 决策树1.2.3 随机森林1.2.4 支持向量机1.2.5 神经网络 1.3 模型训练1.3.1 梯度下降1.3.2 随机梯度下降1.3.3 Adam优化…...

MySQL(8.0)数据库安装和初始化以及管理
1.MySQL下载安装和初始化 1.下载安装包 下载地址:https://downloads.mysql.com/archives/get/p/23/file/mysql-8.0.33-1.el7.x86_64.rpm-bundle.tar wget https://downloads.mysql.com/archives/get/p/23/file/mysql-8.0.33-1.el7.x86_64.rpm-bundle.tar 2.解压…...

C# Web控件与数据感应之 TreeView 类
目录 关于 TreeView 一些区别 准备数据源 范例运行环境 一些实用方法 获取数据进行呈现 根据ID设置节点 获取所有结点的索引 小结 关于 TreeView 数据感应也即数据捆绑,是一种动态的,Web控件与数据源之间的交互,本文将继续介绍与…...
java使用责任链模式进行优化代码
1.什么是责任链 责任链模式(Chain of Responsibility Pattern)是一种行为设计模式,它允许多个对象有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。每个收到请求的对象要么处理该请求,要么将它传递给链中…...

【人工智能】边缘计算与 AI:实时智能的未来
💎 我的主页:2的n次方_ 💎1. 引言 随着物联网设备数量的爆炸性增长和对实时处理需求的增加,边缘计算与人工智能(Edge AI)成为一个热门话题。Edge AI 通过在本地设备上运行 AI 算法,减少对云计…...

Day12--Servlet实现前后端交互(案例:学生信息管理系统登录页面)
(在一个完整的项目架构中,servlet的角色和位置) Servlet、GenericServlet和HttpServlet三者之间的关系是Java Web开发中的一个重要概念,它们共同构成了基于Java的服务器端程序的基础。以下是具体分析: 1. Servlet接口…...
Android 安装应用-准备阶段
安装应用的准备阶段是在PackageManagerService类中的preparePackageLI(InstallArgs args, PackageInstalledInfo res),代码有些长,分段阅读。 分段一 分段一: GuardedBy("mInstallLock")private PrepareResult preparePackageLI(I…...

【JKI SMO】框架讲解(九)
本节内容将演示如何向SMO框架添加启动画面。 1.打开LabVIEW新建一个空白项目,并保存。 2.找到工具,打开SMO Editor。 3.新建一个SMO,选择SMO.UI.Splash。 4. 打开LabVIEW项目,可以看到项目里多了一个SystemSplash类。 打开Process…...

Linux通过Docker安装Microsoft Office+RDP远程控制
之前根据B站教程《在linux上安装微软office》:在linux上安装微软office_哔哩哔哩_bilibili 写过一篇使用KVM虚拟机安装Microsoft OfficeRDP远程控制的文章,根据B站的教程安装后,发现有远程控制延迟的问题,比如拖动Office窗口时会…...

龙虎榜——20250610
上证指数放量收阴线,个股多数下跌,盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型,指数短线有调整的需求,大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的:御银股份、雄帝科技 驱动…...
【杂谈】-递归进化:人工智能的自我改进与监管挑战
递归进化:人工智能的自我改进与监管挑战 文章目录 递归进化:人工智能的自我改进与监管挑战1、自我改进型人工智能的崛起2、人工智能如何挑战人类监管?3、确保人工智能受控的策略4、人类在人工智能发展中的角色5、平衡自主性与控制力6、总结与…...

376. Wiggle Subsequence
376. Wiggle Subsequence 代码 class Solution { public:int wiggleMaxLength(vector<int>& nums) {int n nums.size();int res 1;int prediff 0;int curdiff 0;for(int i 0;i < n-1;i){curdiff nums[i1] - nums[i];if( (prediff > 0 && curdif…...

2021-03-15 iview一些问题
1.iview 在使用tree组件时,发现没有set类的方法,只有get,那么要改变tree值,只能遍历treeData,递归修改treeData的checked,发现无法更改,原因在于check模式下,子元素的勾选状态跟父节…...

相机从app启动流程
一、流程框架图 二、具体流程分析 1、得到cameralist和对应的静态信息 目录如下: 重点代码分析: 启动相机前,先要通过getCameraIdList获取camera的个数以及id,然后可以通过getCameraCharacteristics获取对应id camera的capabilities(静态信息)进行一些openCamera前的…...

Springcloud:Eureka 高可用集群搭建实战(服务注册与发现的底层原理与避坑指南)
引言:为什么 Eureka 依然是存量系统的核心? 尽管 Nacos 等新注册中心崛起,但金融、电力等保守行业仍有大量系统运行在 Eureka 上。理解其高可用设计与自我保护机制,是保障分布式系统稳定的必修课。本文将手把手带你搭建生产级 Eur…...

selenium学习实战【Python爬虫】
selenium学习实战【Python爬虫】 文章目录 selenium学习实战【Python爬虫】一、声明二、学习目标三、安装依赖3.1 安装selenium库3.2 安装浏览器驱动3.2.1 查看Edge版本3.2.2 驱动安装 四、代码讲解4.1 配置浏览器4.2 加载更多4.3 寻找内容4.4 完整代码 五、报告文件爬取5.1 提…...
在Ubuntu24上采用Wine打开SourceInsight
1. 安装wine sudo apt install wine 2. 安装32位库支持,SourceInsight是32位程序 sudo dpkg --add-architecture i386 sudo apt update sudo apt install wine32:i386 3. 验证安装 wine --version 4. 安装必要的字体和库(解决显示问题) sudo apt install fonts-wqy…...
代码随想录刷题day30
1、零钱兑换II 给你一个整数数组 coins 表示不同面额的硬币,另给一个整数 amount 表示总金额。 请你计算并返回可以凑成总金额的硬币组合数。如果任何硬币组合都无法凑出总金额,返回 0 。 假设每一种面额的硬币有无限个。 题目数据保证结果符合 32 位带…...

力扣热题100 k个一组反转链表题解
题目: 代码: func reverseKGroup(head *ListNode, k int) *ListNode {cur : headfor i : 0; i < k; i {if cur nil {return head}cur cur.Next}newHead : reverse(head, cur)head.Next reverseKGroup(cur, k)return newHead }func reverse(start, end *ListNode) *ListN…...