当前位置: 首页 > wzjs >正文

网站使用前流程wordpress在线充值

网站使用前流程,wordpress在线充值,网络技术网站是做什么的,wordpress 空间安装双指针: 使用两个指针协同遍历数组/链表&#xff0c;降低时间复杂度&#xff08;通常从O(n)优化到O(n)&#xff09; 典型应用场景 有序数组两数之和 反转数组 移除元素 双指针函数实现和调用示例 //有序数组的两数之和#include <stdio.h>/*** 在有序数组中查找两个数&…

双指针:

使用两个指针协同遍历数组/链表,降低时间复杂度(通常从O(n²)优化到O(n))

典型应用场景
  1. 有序数组两数之和

  2. 反转数组

  3. 移除元素

双指针函数实现和调用示例
//有序数组的两数之和#include <stdio.h>/*** 在有序数组中查找两个数,使它们的和等于目标值* @param nums 有序数组* @param numsSize 数组大小* @param target 目标值* @param returnSize 返回数组大小(固定为2)* @return 两个数的索引数组(从1开始计数)*/
int* twoSum(int* nums, int numsSize, int target, int* returnSize) {int left = 0;int right = numsSize - 1;int* result = (int*)malloc(2 * sizeof(int));*returnSize = 2;while (left < right) {int sum = nums[left] + nums[right];printf("检查 %d + %d = %d\n", nums[left], nums[right], sum); // 流程展示if (sum == target) {result[0] = left + 1; // 题目要求从1开始计数result[1] = right + 1;return result;} else if (sum < target) {left++;printf("和太小,左指针右移 -> [%d]\n", left);} else {right--;printf("和太大,右指针左移 -> [%d]\n", right);}}return result; // 未找到时返回[0,0]
}int main() {int nums[] = {2, 7, 11, 15};int target = 9;int returnSize;int* result = twoSum(nums, sizeof(nums)/sizeof(nums[0]), target, &returnSize);printf("\n最终结果: [%d, %d]\n", result[0], result[1]);free(result);return 0;
}//流程
检查 2 + 15 = 17
和太大,右指针左移 -> [2]
检查 2 + 11 = 13
和太大,右指针左移 -> [1]
检查 2 + 7 = 9最终结果: [1, 2]

滑动窗口:

维护一个动态变化的窗口,用常数时间更新窗口信息

典型应用场景
  1. 最长无重复子串

  2. 最小覆盖子串

  3. 长度最小的子数组

滑动窗口函数实现和调用示例
// 长度最小的子数组
#include <stdio.h>
#include <limits.h>/*** 寻找满足和≥target的最短连续子数组* @param nums 数组* @param numsSize 数组大小* @param target 目标和* @return 子数组长度(不存在返回0)*/
int minSubArrayLen(int* nums, int numsSize, int target) {int left = 0;int sum = 0;int minLen = INT_MAX;for (int right = 0; right < numsSize; right++) {sum += nums[right];printf("窗口扩展: [%d,%d], sum=%d\n", left, right, sum);while (sum >= target) {int currentLen = right - left + 1;if (currentLen < minLen) {minLen = currentLen;printf("找到更小窗口: 长度=%d\n", minLen);}sum -= nums[left++]; // 收缩左边界printf("窗口收缩: [%d,%d], sum=%d\n", left, right, sum);}}return minLen == INT_MAX ? 0 : minLen;
}int main() {int nums[] = {2, 3, 1, 2, 4, 3};int target = 7;int len = minSubArrayLen(nums, sizeof(nums)/sizeof(nums[0]), target);printf("\n最小长度: %d\n", len);return 0;
}//流程
窗口扩展: [0,0], sum=2
窗口扩展: [0,1], sum=5
窗口扩展: [0,2], sum=6
窗口扩展: [0,3], sum=8
找到更小窗口: 长度=4
窗口收缩: [1,3], sum=6
窗口扩展: [1,4], sum=10
找到更小窗口: 长度=4
窗口收缩: [2,4], sum=7
找到更小窗口: 长度=3
窗口收缩: [3,4], sum=6
窗口扩展: [3,5], sum=9
找到更小窗口: 长度=3
窗口收缩: [4,5], sum=7
找到更小窗口: 长度=2
窗口收缩: [5,5], sum=3最小长度: 2

快慢指针

用不同速度移动的两个指针解决链表/数组问题

典型应用场景
  1. 检测链表环

  2. 寻找链表中点

  3. 寻找重复数

快慢指针函数实现和调用示例
//检测链表环#include <stdio.h>
#include <stdbool.h>// 链表节点定义
struct ListNode {int val;struct ListNode *next;
};/*** 检测链表是否有环* @param head 链表头节点* @return 是否有环*/
bool hasCycle(struct ListNode *head) {if (head == NULL) return false;struct ListNode *slow = head;struct ListNode *fast = head->next;int step = 1;while (fast != NULL && fast->next != NULL) {printf("步数%d: 慢指针=%d, 快指针=%d\n", step++, slow->val, fast->val);if (slow == fast) {printf("快慢指针相遇于%d\n", slow->val);return true;}slow = slow->next;         // 慢指针走1步fast = fast->next->next;   // 快指针走2步}return false;
}int main() {// 构建测试链表: 1->2->3->4->2(形成环)struct ListNode node1 = {1, NULL};struct ListNode node2 = {2, NULL};struct ListNode node3 = {3, NULL};struct ListNode node4 = {4, NULL};node1.next = &node2;node2.next = &node3;node3.next = &node4;node4.next = &node2; // 形成环bool result = hasCycle(&node1);printf("\n检测结果: %s\n", result ? "有环" : "无环");return 0;
}//流程
步数1: 慢指针=1, 快指针=2
步数2: 慢指针=2, 快指针=4
步数3: 慢指针=3, 快指针=2
步数4: 慢指针=4, 快指针=4
快慢指针相遇于4检测结果: 有环

技术典型场景时间复杂度空间复杂度核心操作
双指针有序数组操作O(n)O(1)左右指针向中间移动
滑动窗口连续子数组/子串问题O(n)O(1)动态维护窗口边界
快慢指针链表环/中点问题(链表结构分析)O(n)O(1)不同速度移动指针

 

http://www.dtcms.com/wzjs/561689.html

相关文章:

  • 上海高端网站建设公司网站的域名做邮箱吗
  • 做网站如何添加表单湖南住房城乡建设厅官方网站
  • 重庆璧山网站制作公司推荐网站建设与网页设计论述题
  • 我的世界做弊端网站汽车之家汽车报价大全网页版
  • 网站建设jz518美叶设计网站
  • 北京网页设计公司兴田德润团队宁波网站seo报价
  • 杰奇怎么做网站地图网站建设投资规划
  • 做母婴的网站免费做企业推广的网站
  • 交互做的好的中国网站企业信息填报年报填写
  • 主题网站设计实验步骤教育网站建设的雷区
  • wordpress 一小时建站教程自己做app建网站
  • 开一家网站建设公司好茂名做网站的公司
  • 上海闵行区 网站建设京紫元年网站建设
  • 如今做啥网站能致富免费网站建设有哪些
  • 在龙港网站哪里做网站被墙 做301跳转
  • 个人做房产网站织梦网站专题模板
  • 网站模版怎样使用seo诊断a5
  • 网站建设与维护期末考试题网站建设策划书范文
  • wordpress幻灯片源码华为seo诊断及优化分析
  • 北京网站建设是什么wordpress柚子皮 zip
  • 网站广告模板代码做红酒闪购的网站有哪些
  • 浙江特种作业证件查询电商类网站怎么做 seo
  • 十大免费cms建站系统介绍上海建设银行网站上班时间表
  • 邢台城乡建设局网站网站制作软件dw的全称
  • 上海购物网站建设广东建站
  • 简述可口可乐公司的企业网站建设返利网站怎么做
  • 用服务器建立网站教程建站合肥网络公司seo
  • 为什么网站显示在建设中深圳交易网站建设
  • 怎么推广网站平台网站做地域屏蔽
  • 上海成品网站wordpress分类图标列表