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

django 和 wordpress北京网站优化多少钱

django 和 wordpress,北京网站优化多少钱,梦想小镇旅游官方网站建设,品牌建设对企业的意义目录 1- 思路快速选择 2- 实现⭐215. 数组中的第K个最大元素——题解思路 3- ACM实现 原题连接:215. 数组中的第K个最大元素 1- 思路 快速选择 第 k 大的元素的数组下标: int target nums.length - k 1- 根据 partition 分割的区间来判断当前处理方式…

目录

  • 1- 思路
    • 快速选择
  • 2- 实现
    • 215. 数组中的第K个最大元素——题解思路
  • 3- ACM实现


  • 原题连接:215. 数组中的第K个最大元素

1- 思路

快速选择

  • 第 k 大的元素的数组下标: int target = nums.length - k

1- 根据 partition 分割的区间来判断当前处理方式

  • 如果返回的 int 等于 target 说明找到了,直接返回
  • 如果返回的 int 小于 target 说明要在当前区间的右侧寻找,也就是 [pivotIndex+1,right]
  • 如果返回的 int 大于 target 说明要在当前区间的左侧寻找,也就是 [left,pivotIndex-1]

2- 实现 partition 随机选取一个 pivotIndex 分割区间

  • 2-1 随机选择一个下标
  • 2-2 交换 left 和 随机下标
  • 2-3 将随机下标的元素值设置为 pivot
  • 2-4 定义 lege 下标 使用 while(true)
    • 使得 le 指向的元素始终小于 pivot
    • 使得 ge 指向的元素始终大于 pivot

2- 实现

215. 数组中的第K个最大元素——题解思路

在这里插入图片描述

import java.util.Random;
class Solution {static Random random = new Random(System.currentTimeMillis());public int findKthLargest(int[] nums,int k){return quickSelect(nums,0,nums.length-1,nums.length-k);}public int quickSelect(int[] nums,int left,int right,int kIndex){if(right==left){return nums[left];}//int pivotIndex = partition(nums,left,right);if(pivotIndex == kIndex){return nums[kIndex];}else if( pivotIndex>kIndex){return quickSelect(nums,left,pivotIndex-1,kIndex);}else{return quickSelect(nums,pivotIndex+1,right,kIndex);}}public int partition(int[] nums,int left,int right){int randomIndex = left + random.nextInt(right-left+1);swap(nums,left,randomIndex);int mid = nums[left];int le = left+1;int ge = right;while(true){while(le<=ge && nums[le] < mid){le++;}while(le<=ge && nums[ge] > mid){ge--;}if(le>=ge){break;}swap(nums,le,ge);le++;ge--;}swap(nums,left,ge);return ge;}public void swap(int[] nums,int left,int right){int tmp = nums[left];nums[left] = nums[right];nums[right] = tmp;}}

3- ACM实现

public class kthNums {static Random random = new Random(System.currentTimeMillis());public static int findK(int[] nums,int k){// 快速选择 ,传四个参数return quickSelect(nums,0,nums.length-1,nums.length-k);}public static int quickSelect(int[] nums,int left,int right,int kIndex){if(right==left){return nums[left];}//int pivotIndex = partition(nums,left,right);if(pivotIndex == kIndex){return nums[kIndex];}else if( pivotIndex>kIndex){return quickSelect(nums,left,pivotIndex-1,kIndex);}else{return quickSelect(nums,pivotIndex+1,right,kIndex);}}public static int partition(int[] nums,int left,int right){int randomIndex = left + random.nextInt(right-left+1);swap(nums,left,randomIndex);int mid = nums[left];int le = left+1;int ge = right;while(true){while(le<=ge && nums[le] < mid){le++;}while(le<=ge && nums[ge] > mid){ge--;}if(le>=ge){break;}swap(nums,le,ge);le++;ge--;}swap(nums,left,ge);return ge;}public static void swap(int[] nums,int left,int right){int tmp = nums[left];nums[left] = nums[right];nums[right] = tmp;}public static void main(String[] args) {Scanner sc = new Scanner(System.in);String input = sc.nextLine();String[] parts = input.split(" ");int[] nums = new int[parts.length];for(int i = 0 ; i < nums.length ; i++){nums[i] = Integer.parseInt(parts[i]);}System.out.println("输入K");int k = sc.nextInt();System.out.println("结果是"+findK(nums,k));}
}
http://www.ds6.com.cn/news/1898.html

相关文章:

  • 做网站.net和php哪个简单全网霸屏推广系统
  • 什么网站流量大杭州网站定制
  • 贵州网站建设找关键词的方法与技巧
  • 企业网站建设报价怎样建立自己的网站平台
  • 谷歌怎么把两个网站做反链长尾关键词挖掘词工具
  • b2c和b2b的区别郑州有没有厉害的seo
  • 广西城乡住房建设厅网站首页直播代运营公司
  • 专业做礼品团购的网站系统优化app
  • mugeda做网站排名第一的助勃药
  • 万网企业网站建设百度上做优化一年多少钱
  • 怎么做vip视频网站百度竞价代运营托管
  • 做游戏交易网站有哪些济南优化网站的哪家好
  • 微信公众号平台登陆百度seo工作室
  • 做网站生意不赚钱6属于b2b的网站有哪些
  • 中国图片素材网网站seo标题是什么意思
  • 贵阳网页网站制作百度知道推广软件
  • 天津市建设工程信息网站可以免费打开网站的软件下载
  • 常州云计算网站建设百度优化师
  • wordpress设计网页seo综合查询工具下载
  • 做网站零成本站长工具传媒
  • 企业网站建设基本流程天津百度推广电话号码
  • 网站动画广告条怎么做的宣传软文是什么
  • 发布网站建设需求的经验百度seo关键词排名优化软件
  • 安徽农垦建设工程信息网百度自然搜索排名优化
  • 网站建设写代码自己怎么创业优化软件
  • 政府网站信息化建设工作汇报北京今日重大新闻
  • 网站有什么模块品牌网络推广
  • 武汉网站制作服务站长seo综合查询
  • 淄博高端网站设计今日油价92汽油价格表
  • 做网站用boot百度seo优化推广