做足球推荐网站能赚钱吗1.网站建设基本流程是什么

diannao/2026/1/22 2:33:16/文章来源:
做足球推荐网站能赚钱吗,1.网站建设基本流程是什么,响应网站模板下载,企业营销管理制度代码框架 // 在数组nums将下标从left到right中进行从小到大排序// 原理是先将一个元素排好序#xff0c;然后将其他的元素排好序void sort(int[] nums, int left, int right) {if (left right) {return;}// 对数组nums[left,right]进行切分#xff0c;使得nums[left,p-1…代码框架 // 在数组nums将下标从left到right中进行从小到大排序// 原理是先将一个元素排好序然后将其他的元素排好序void sort(int[] nums, int left, int right) {if (left right) {return;}// 对数组nums[left,right]进行切分使得nums[left,p-1]nums[p]nums[p1,right]int p partition(nums, left, right);// 去左右数组进行切分sort(nums, left, p - 1);sort(nums, p - 1, right);}// 在数组中nums[left,right]中寻找到一个分界点pint partition(int[] nums, int left, int right) {// 将数组中最左边的元素放入正确的位置后返回该位置int pivot nums[left];// 最后数组被分为三个区间[left,i)和i和(j,right]int i left 1, j right;while (i j) {// i右移找大于pivot的数while (i right nums[i] pivot) {i;}// j左移找到小于pivot的数while (j left nums[j] pivot) {j--;}// 判断此时的i和j是否越界if (i j) {break;}swap(nums, i, j);}// 最后将pivot和j进行交换swap(nums, left, j);return j;}// 将元素随机打乱void shuffle(int[] nums) {int len nums.length;Random random new Random();for (int i 0; i len; i) {// 生成[i,len-1]之间的随机数int index i random.nextInt(len - i);swap(nums, i, index);}}void swap(int[] nums, int i, int j) {int temp nums[i];nums[i] nums[j];nums[j] temp;} 为什么要用shuffle将数组进行乱序处理 目的是消除对初始输入的依赖使得算法更具有随机性。在快排算法中选择分区点的方式可能会影响算法的性能。如果数组已经有序或者近似有序选择第一个元素作为分区点可能导致算法性能下降因为分区点选择的不好可能导致快速选择算法的退化为O(n^2)的时间复杂度。 在快速排序中partition() 会选择一个基准值pivot然后重新排列数组或列表的元素使得小于基准值的元素都位于它的左侧大于基准值的元素都位于它的右侧。通常它返回一个索引值表示基准值在排序后所在的位置同时也将数组或列表划分成两个部分。 再这么看快排就很简单了一直分割左右两块直到所有都排序完为止。 注意base case是左应该右 另外其实对比可以发现出快排和二叉树的前序遍历是很像的 /* 二叉树遍历框架 */ void traverse(TreeNode root) {if (root null) {return;}/****** 前序位置 ******/print(root.val);/*********************/traverse(root.left);traverse(root.right); } 一句话总结 快速排序是先将一个元素排好序然后再将剩下的元素排好序。 快速排序的核心无疑是 partition 函数 partition 函数的作用是在 nums[lo..hi] 中寻找一个切分点 p通过交换元素使得 nums[lo..p-1] 都小于等于 nums[p]且 nums[p1..hi] 都大于 nums[p] 一个元素左边的元素都比它小右边的元素都比它大不就是它自己已经被放到正确的位置上了吗 所以 partition 函数干的事情其实就是把 nums[p] 这个元素排好序了。然后呢你再把剩下的元素排好序不就得了。 剩下的元素有哪些左边一坨右边一坨去吧对子数组进行递归用 partition 函数把剩下的元素也排好序。 从二叉树的视角我们可以把子数组 nums[lo..hi] 理解成二叉树节点上的值sort 函数理解成二叉树的遍历函数。 排序数组 912. 排序数组 - 力扣LeetCode class Solution {public int[] sortArray(int[] nums) {shuffle(nums);quickSort(nums, 0, nums.length - 1);return nums;}void shuffle(int[] nums) {Random random new Random();for (int i 0; i nums.length; i) {int p i random.nextInt(nums.length - i);swap(nums, i, p);}}void quickSort(int[] nums, int left, int right) {if (left right) {int pivot partition(nums, left, right);// 分治分别对左右的数据开始递归quickSort(nums, left, pivot - 1);quickSort(nums, pivot 1, right);}}int partition(int[] nums, int left, int right) {int pivot nums[left];int i left 1;int j right;while (i j) {while (i right nums[i] pivot) {i;}while (j left nums[j] pivot) {j--;}if (i j) {swap(nums, i, j);}}swap(nums, left, j);return j;}void swap(int[] nums, int i, int j) {int temp nums[i];nums[i] nums[j];nums[j] temp;} } 数组中的第k个最大元素 215. 数组中的第K个最大元素 - 力扣LeetCode class Solution {public int findKthLargest(int[] nums, int k) {shuffle(nums);int left 0, right nums.length - 1;// 因为是找第 k 大的元素而不是找第 k 小的元素所以要从右边开始数 k 个k nums.length - k;while (left right) {int p partition(nums, left, right);// 缩小查找范围if (p k) {// 说明第k大的元素在分区右边left p 1;} else if (p k) {// 说明第k大的元素在分区左边right p - 1;} else {return nums[p];}}// 未找到return -1;}void shuffle(int[] nums) {Random random new Random();int n nums.length;for (int i 0; i n; i) {int r i random.nextInt(n-i);swap(nums, i, r);}}int partition(int[] nums, int left, int right) {int p nums[left], i left 1, j right;while (i j) {// i 向右移动找到第一个大于 p 的元素while (i right nums[i] p) i;// j 向左移动找到第一个小于等于 p 的元素while (j left nums[j] p) j--;if (i j) break;// 如果左区间有比 p 大的数右区间有比 p 小的数且下标左小于右交换i与jswap(nums, i, j);}// 最后将 nums[left]即分区点原始位置与 nums[j] 交换将分区点放到正确的位置。swap(nums, left, j);// 返回分区点索引return j;}void swap(int[] nums, int i, int j) {int temp nums[i];nums[i] nums[j];nums[j] temp;} } 补充 优先级队列做法 class Solution {public int findKthLargest(int[] nums, int k) {// 利用优先级队列自动是小根堆PriorityQueueInteger queue new PriorityQueue();for (int i 0; i k; i) {queue.add(nums[i]);}for (int i k; i nums.length; i) {if (nums[i] queue.peek()) {queue.poll();queue.add(nums[i]);}}return queue.peek();} }

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/89440.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

台州企业网站搭建价格网站关键词代码位置

目前的技术存在的问题?   尽管DCOM和IIOP都是固定的协议,业界还没有完全转向其中任何一个协议。没有融合的部分原因是文化的问题所致。而且在当一些组织试图标准化一个或另一个协议的时候,两个协议的技术适用性就被提出质疑。传统上认为DC…

正规网站制作公司哪家好多个wordpress站点互相

在linux服务器环境下,可以使用cat /proc/cpuinfo命令查看当前CPU的核数等信息。 cat /proc/cpuinfo 字段解析 /proc/cpuinfo 是一个特殊的文件,在 Linux 系统中提供有关 CPU 的详细信息。它实际上是一个伪文件系统中的文件,通过它可以获取到…

大观网站建设seo知识分享

在本文中,我们将介绍五种方法,这些方法可以使用有效的编码来帮助垃圾回收器减少分配和释放内存的CPU时间,并减少GC开销。 较长的GC通常会导致我们的代码在回收内存时被停止(也称为“停止世界”)。 一些背景 GC的建立…

网站建设中html网页长沙 网站设计 公司价格

要在 CentOS 7 下使用 Ansible Playbook 实现 MySQL 8.0.34 的二进制安装,需要先下载 MySQL 8.0.34 的二进制包,并将其上传至目标服务器。 以下是基于二进制包安装的一个简化示例 Playbook: --- # mysql8_binary_install_playbook.yaml- nam…

我想花钱做网站徐州seo公司

以下是在学习和使用spark过程中遇到的一些问题,记录下来。 1、首先来说说spark任务运行完后查错最常用的一个命令,那就是把任务运行日志down下来。 程序存在错误,将日志down下来查看具体原因!down日志命令:yarn logs -application…

网站建设会提供哪些服务备案查询入口

引言 随着人工智能技术的迅猛发展,人工智能生成内容(AIGC)技术已经逐渐走进人们的视野。AIGC技术是指利用人工智能技术生成各种形式的内容,如文字、图像、音频、视频等。这种技术不仅可以提高内容生产效率,还可以创造…

网站的建设怎么弄外贸网站建设知识 列表

面试技术栈 —— 2024网易雷火暑期实习真题 1. 最长递增子序列。2. 集中限流和单机限流你觉得哪个好?3. redis部署服务器配置,为什么不用哨兵?4. 讲讲分布式session的原理。5. 数据库:表数据量大了,如何分表&#xff1…

自学wordpressseo网址查询

1.docker的简介 1.1docker是什么 用一句话来说docker就是一个新一代虚拟化技术 Docker是一种开源的平台,用于开发、交付和运行应用程序。它允许开发人员将应用程序和它们的依赖打包在一个容器中,然后部署到任何支持Docker的环境中。Docker的主要特点包括…

免费ip代理服务器苏州seo推广公司

关卡名 认识回溯思想 我会了✔️ 内容 1.复习递归和N叉树,理解相关代码是如何实现的 ✔️ 2.理解回溯到底怎么回事 ✔️ 3.掌握如何使用回溯来解决二叉树的路径问题 ✔️ 回溯可以视为递归的拓展,很多思想和解法都与递归密切相关,在很多…

网站开发者工具post建筑学院app网站

chrome浏览器使用 Console(控制台) 了解如何:打开DevTools Console(控制台),堆叠冗余消息或在自己的行上显示它们,清除或保持输出或将其保存到文件,过滤输出,以及了解其他Console(控制台)设置。 TL;DR 以专用面板形式,或作为任何其他面板的抽屉式面板的形式,打开Console…

如何做一个公司网站网页设计作业及答案

Vue中常用的修饰符主要有以下几类: 事件修饰符: .stop:阻止事件的冒泡,相当于调用了event.stopPropagation()方法。 .prevent:阻止事件的默认行为,相当于调用了event.preventDefault()方法。 .capture&a…

邯郸网站关键字优化制作网站的策划方案

在信息爆炸的时代,数据无处不在,而如何有效地管理和处理这些数据,成为了现代计算机科学的一个重要课题。排序算法,作为数据处理的基本工具之一,对于数据的组织、搜索和分析起着至关重要的作用。今天,我们就…

怎么制作移动端网站坪山城市建设局官方网站

一、创建全局的自定义命令 1、打开一个空文件夹,新建一个bin文件夹,在bin文件夹下新建cli.js文件,js文件可以命名为cli.js(您随意) 2、在cli.js文件中的开头(!!)写下面这…

企业网站建设美丽什么系统做网站最安全

沉淀、分享、成长,让自己和他人都能有所收获!😄 📢本篇我们将介绍驱动开发面试题 。 1、Linux驱动程序的功能是什么? 对设备初始化和释放。进行内核与硬件的数据交互。检测和处理设备出现的错误。2、内核程序中申请内存使用什么函数? 答案:kmalloc()、kzalloc()、vm…

教育培训网站源码wordpress网站名称

UML,统一建模语言是一种可视化建模语言。 UML包括九种类型的图:用例图,类图,对象图,顺序图,协作图,状态图,活动图,构件图,及部署图,各种图示系统在…

做庭院景观的那个网站推广好网站这么建设

阿赵UE学习笔记目录 大家好,我是阿赵。   继续学习虚幻引擎,这次来了解一下UE里面关于材质的一些概念性的东西。 一、材质 材质这个概念,在所有三维软件里面都会有,比如3Dsmax里面的材质球,或者Unity里面的Material…

网站地址栏云南省建设厅标准员网站

齐次坐标(Homegeneous Coordinates)在学习齐次坐标之前,我们要先好奇的问一下,为什么要学习齐次坐标。上一节课,我们学习了变换的三种基本形式:旋转,缩放,和切变。但是还有一种特殊的变换:Trans…

5分钟建站wordpress域名服务商有哪些

目录 简介 简话JdkDynamicAopProxy 关于target的出身——AdvisedSupport EXP 请确保已阅读过前文或对Spring1链至少有一定认知:【Web】浅聊Java反序列化之Spring1链——三层动态代理-CSDN博客 简介 Spring2 和 Spring1 的反序列化过程基本相同,唯一…

一个数据库怎么做二个网站wordpress网站重做

前言 当我们在开发过程中,由于maven项目本身的限制,我们不能直接把我们的mapper.xml文件和对应mapper.java接口文件放到一起,也就是不能直接放在java包中,如图: 因为maven项目在构建打包时,会从src/main…

如何做网站连接记事本html网页制作代码

jboss性能指标技术来了又去,但是一件事保持不变。 在设计企业解决方案时,我们喜欢使我们的生活更轻松的复杂组件,作为建筑师和开发人员,我们一直在寻找使我们的生活更轻松的方法。 一种方法是跟上与感兴趣的技术有关的流行新站点…