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

如何判断一个网站是php还是asp如何给公司网站做推广

如何判断一个网站是php还是asp,如何给公司网站做推广,计算机软件开发培训班,浙江省建设教育考试中心网站文章目录逆波兰表达式求值滑动窗口最大值前 K 个高频元素逆波兰表达式求值 题目链接:150. 逆波兰表达式求值 解题逻辑: 遍历字符串数组遇到数字就压栈遇到符号就把栈顶的两个元素弹出来进行运算,算完之后再把结果压栈如此循环往复直到遍历完…

文章目录

  • 逆波兰表达式求值
  • 滑动窗口最大值
  • 前 K 个高频元素

逆波兰表达式求值

题目链接:150. 逆波兰表达式求值

解题逻辑:

  • 遍历字符串数组
  • 遇到数字就压栈
  • 遇到符号就把栈顶的两个元素弹出来进行运算,算完之后再把结果压栈
  • 如此循环往复直到遍历完整个字符串数组

代码如下:

class Solution {public int evalRPN(String[] tokens) {Deque<String> box = new ArrayDeque<>();for(String s : tokens) {if(s.equals("+")) box.push(Integer.toString(Integer.parseInt(box.pop()) + Integer.parseInt(box.pop()))); else if (s.equals("-")) box.push(Integer.toString( - (Integer.parseInt(box.pop()) - Integer.parseInt(box.pop())))); else if (s.equals("*")) box.push(Integer.toString(Integer.parseInt(box.pop()) * Integer.parseInt(box.pop()))); else if (s.equals("/")) {int a = Integer.parseInt(box.pop());int b = Integer.parseInt(box.pop());box.push(Integer.toString( b / a )); }else box.push(s);}return Integer.parseInt(box.pop());}
}

滑动窗口最大值

题目链接:239. 滑动窗口最大值

解题思路:

这道题我最先开始想的是使用优先级队列,但是优先级队列无法维护动态窗口的增添元素(因为优先级队列的底层是堆,添加进去就已经排好序了)。为了解决本题,我们应该使用另一种数据结构 – 单调队列。

这两种队列的概念如下:

单调队列

  • 单调队列是一种特殊的队列,队列中的元素保持单调递增或递减。它的特点是:
  • 元素有序:队列中的元素始终保持单调性。
  • 高效操作:插入和删除操作都能保持队列的单调性,时间复杂度为 O (1)。
  • 滑动窗口问题:常用于解决滑动窗口的最大值或最小值问题。

优先级队列

  • 优先级队列是一种抽象数据类型,元素按照优先级排序,优先级高的元素先出队。它的特点是:
  • 元素无序:元素按照优先级排序,但不保证完全有序。
  • 高效操作:插入和删除操作的时间复杂度为 O (log n)。
  • 贪心算法:常用于解决最优化问题,如 Dijkstra 算法。

那么我们如何保持单调队列的单调呢?

其核心就在于两个操作,例如现在我们需要维护一个单调递减的队列:

  • add操作:我们只需要在push一个新元素进去的时候比较队尾的元素是否比队尾新进的元素要小(或等于),如果小(或等于)的话就入队,如果大的话就剔除队尾元素,直到队尾元素比新进元素要小
  • remove操作:如果要删除的元素是最大元素(也就是队头元素),那么就执行remove操作,否则不进行操作

解题逻辑如下:

  • 初始化两个指针代表窗口的两侧
  • 初始化一个单调队列
  • 将k个元素加入到队列中
  • 随着窗口移动,根据指针进行元素的添加与剔除(如果窗口移除的元素value等于单调队列的出口元素,那么队列弹出元素,否则不用任何操作),并且将每次队头元素存储到数组中
  • 返回数组

代码如下:

class Solution {public int[] maxSlidingWindow(int[] nums, int k) {int[] result = new int[nums.length - k + 1];int left = 0;int right = k - 1;MonotonousQueue queue = new MonotonousQueue();for(int i = 0;i < k;i++) queue.add(nums[i]);int pointer = 0; while(right < nums.length) {result[pointer++] = queue.element();if(nums[left] == queue.element()) queue.remove();left++;right++;if(right < nums.length) queue.add(nums[right]);}return result;}class MonotonousQueue {Deque<Integer> myQueue = new ArrayDeque<>();public void add(Integer item){while(!myQueue.isEmpty() && myQueue.peekLast() < item) myQueue.pollLast(); myQueue.add(item);}public Integer remove(){return myQueue.remove();}public Integer element(){return myQueue.element();}}
}

前 K 个高频元素

题目链接:347. 前 K 个高频元素

解题思路:

  • 使用hashmap进行计数
  • 定义一个对象,用于存储元素以及次数
  • 遍历hashmap创建对象放入到优先级队列中
  • 从优先级队列中弹出k个元素形成数组所谓结果

代码如下:

class Solution {public int[] topKFrequent(int[] nums, int k) {PriorityQueue<CountHelper> pq = new PriorityQueue<>(Comparator.comparingInt(CountHelper::getCount).reversed());Map<Integer,Integer> countMap =  new HashMap<>();for(int i = 0;i < nums.length;i++) countMap.put(nums[i],countMap.getOrDefault(nums[i],0) + 1);for (Map.Entry<Integer, Integer> entry : countMap.entrySet()) {Integer key = entry.getKey();Integer value = entry.getValue();pq.add(new CountHelper(key,value));}int[] result = new int[k];int pointer = 0;while(pointer < k) result[pointer++] = pq.remove().getNum();return result;}class CountHelper {private int num;private int count;public CountHelper(int n, int c){num = n;count = c;}public int getNum(){return num;}public int getCount(){return count;}public void setNum(int n){num = n;}public void setCount(int c){count = c;}}
}
http://www.dtcms.com/wzjs/163712.html

相关文章:

  • 华人国际婚恋网站建设方案爱站工具查询
  • 英文建站软件网络营销岗位描述的内容
  • 湖州本地做网站seo的最终是为了达到
  • 商城网站建设视频投放广告
  • 做网站和淘宝美工 最低电脑唐山seo排名优化
  • 网站用什么平台开发公司查询
  • 无锡网站App微信软文范文
  • 吴中公司网站建设找哪家网站建设 网站制作
  • 建立一个个人介绍的网站网络营销策略的定义
  • 免费祝福网页在线制作seo关键词排名优化要多少钱
  • 做网站代下app推广拉新接单平台
  • 房地产最新消息利好政策seo关键词优化的技巧和方法
  • 做美食网站的目的意义新东方教育机构官网
  • 做一个内容网站多少钱软文发布软件
  • 有经验的武进网站建设对网站提出的优化建议
  • 网站建设方案包括哪些内容seo百度快速排名软件
  • 网站开发定制案例展示网站seo优化建议
  • 购买网站建设合同协议模板少儿编程
  • 搜索引擎优化规则一键优化表格
  • 一个商城网站多少钱网络营销中的seo是指
  • 贵阳市建设厅官方网站百度竞价排名技巧
  • aspcms手机网站怎么做百度收录工具
  • 濮阳门户网站开发杭州网站seo推广软件
  • 甘肃网站建设公司快手推广网站
  • 手机网站幻灯片什么是软文营销
  • 新网站做百度推广网店运营流程步骤
  • 个人做网站做什么样的话日本站外推广网站
  • 做非经营网站需要营业执照软文写作300字
  • 做公司网站费用武汉seo工作室
  • 平度建设网站自己可以创建网站吗