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

电信200m宽带做网站卡吗杭州做网站电话

电信200m宽带做网站卡吗,杭州做网站电话,做h5免费的网站有,怎么超链接公众号1逆波兰表达式求值 给你一个字符串数组 tokens #xff0c;表示一个根据 逆波兰表示法 表示的算术表达式。 请你计算该表达式。返回一个表示表达式值的整数。 注意#xff1a; 有效的算符为 、-、* 和 / 。每个操作数#xff08;运算对象#xff09;都可以是一个整数或…1逆波兰表达式求值 给你一个字符串数组 tokens 表示一个根据 逆波兰表示法 表示的算术表达式。 请你计算该表达式。返回一个表示表达式值的整数。 注意 有效的算符为 、-、* 和 / 。每个操作数运算对象都可以是一个整数或者另一个表达式。两个整数之间的除法总是 向零截断 。表达式中不含除零运算。输入是一个根据逆波兰表示法表示的算术表达式。答案及所有中间计算结果可以用 32 位 整数表示。 示例 1 输入tokens [2,1,,3,*] 输出9 解释该算式转化为常见的中缀算术表达式为((2 1) * 3) 9示例 2 输入tokens [4,13,5,/,] 输出6 解释该算式转化为常见的中缀算术表达式为(4 (13 / 5)) 6示例 3 输入tokens [10,6,9,3,,-11,*,/,*,17,,5,] 输出22 解释该算式转化为常见的中缀算术表达式为((10 * (6 / ((9 3) * -11))) 17) 5((10 * (6 / (12 * -11))) 17) 5((10 * (6 / -132)) 17) 5((10 * 0) 17) 5(0 17) 517 522 提示 1 tokens.length 104tokens[i] 是一个算符、-、* 或 /或是在范围 [-200, 200] 内的一个整数 逆波兰表达式 逆波兰表达式是一种后缀表达式所谓后缀就是指算符写在后面。 平常使用的算式则是一种中缀表达式如 ( 1 2 ) * ( 3 4 ) 。该算式的逆波兰表达式写法为 ( ( 1 2 ) ( 3 4 ) * ) 。 逆波兰表达式主要有以下两个优点 去掉括号后表达式无歧义上式即便写成 1 2 3 4 * 也可以依据次序计算出正确结果。适合用栈操作运算遇到数字则入栈遇到算符则取出栈顶两个数字进行计算并将结果压入栈中 思路 使用一个栈来模拟计算过程。遍历输入的逆波兰表达式如果遇到操作数则压入栈中如果遇到运算符则从栈中取出两个操作数进行相应的运算然后将结果压入栈中。最终栈中的唯一元素即为表达式的结果。 代码 class Solution { public:int evalRPN(vectorstring tokens) {// 使用长整型栈因为LeetCode修改了测试数据需要更大的数据范围stacklong long st; for (int i 0; i tokens.size(); i) {if (tokens[i] || tokens[i] - || tokens[i] * || tokens[i] /) {// 如果是运算符则取出栈顶两个元素进行运算long long num1 st.top();st.pop();long long num2 st.top();st.pop();// 根据运算符进行计算并将结果压入栈中if (tokens[i] ) st.push(num2 num1);if (tokens[i] -) st.push(num2 - num1);if (tokens[i] *) st.push(num2 * num1);if (tokens[i] /) st.push(num2 / num1);} else {// 如果是数字则将其转换为长整型并压入栈中st.push(stoll(tokens[i]));}}// 最终栈中的唯一元素即为结果int result st.top();st.pop(); // 把栈里最后一个元素弹出其实不弹出也没事return result;} }; 2 滑动窗口最大值 给你一个整数数组 nums有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。 返回 滑动窗口中的最大值 。 示例 1 输入nums [1,3,-1,-3,5,3,6,7], k 3 输出[3,3,5,5,6,7] 解释 滑动窗口的位置 最大值 --------------- ----- [1 3 -1] -3 5 3 6 7 31 [3 -1 -3] 5 3 6 7 31 3 [-1 -3 5] 3 6 7 51 3 -1 [-3 5 3] 6 7 51 3 -1 -3 [5 3 6] 7 61 3 -1 -3 5 [3 6 7] 7示例 2 输入nums [1], k 1 输出[1]提示 1 nums.length 105-104  nums[i] 1041 k nums.length 思路 在滑动窗口最大值问题中给定一个数组 nums 和一个大小为 k 的滑动窗口窗口从数组的最左侧移动到最右侧每次移动一个位置。你需要找到每个窗口中的最大值。 为了解决这个问题代码中使用了一个名为 MyQueue 的私有内部类实现了单调队列的功能。单调队列可以在 O(1) 的时间复杂度内获取当前队列中的最大值。 维护一个递减的队列这样队首元素始终是当前窗口的最大值。当新元素进入窗口时从队列尾部开始弹出比新元素小的元素以保持队列的递减性质。这样每次窗口滑动时只需将窗口左侧出队的元素从队列中删除再将窗口右侧进入的元素依次入队即可。 在代码中首先处理前 k 个元素构建初始的窗口。然后从第 k 个元素开始依次处理剩余元素每次都更新单调队列并将当前窗口的最大值加入结果数组中。 代码 class Solution { private:// 定义一个私有内部类 MyQueue用于实现单调队列的功能class MyQueue {private:dequeint que; // 使用 deque 作为底层容器public:// 弹出队首元素如果队首元素等于给定值则弹出void pop(int value) {if (!que.empty() value que.front()) {que.pop_front();}}// 将值压入队列保持队列单调递减void push(int value) {// 循环弹出队列末尾比当前值小的元素保持单调递减性质while (!que.empty() value que.back()) {que.pop_back();}// 将当前值压入队列que.push_back(value);}// 返回队首元素int front() {return que.front();}};public:// 滑动窗口最大值vectorint maxSlidingWindow(vectorint nums, int k) {MyQueue que; // 创建 MyQueue 实例vectorint result; // 存放结果的数组// 先处理前 k 个元素for (int i 0; i k; i) {que.push(nums[i]); // 将元素压入队列}result.push_back(que.front()); // 将队首元素当前窗口的最大值放入结果数组// 处理剩余元素for (int i k; i nums.size(); i) {que.pop(nums[i - k]); // 弹出窗口左侧元素que.push(nums[i]); // 压入窗口右侧新元素result.push_back(que.front()); // 将当前窗口的最大值放入结果数组}return result; // 返回结果数组} }; 3前 K 个高频元素 给你一个整数数组 nums 和一个整数 k 请你返回其中出现频率前 k 高的元素。你可以按 任意顺序 返回答案。 示例 1: 输入: nums [1,1,1,2,2,3], k 2 输出: [1,2]示例 2: 输入: nums [1], k 1 输出: [1] 提示 1 nums.length 105k 的取值范围是 [1, 数组中不相同的元素的个数]题目数据保证答案唯一换句话说数组中前 k 个高频元素的集合是唯一的 思路 统计元素出现频率首先遍历数组使用一个哈希表 map 存储每个元素及其出现的次数。 对频率排序定义一个小顶堆 priority_queue堆中的元素是键值对 {元素, 频率}。自定义了一个比较类 mycomparison使得堆按照频率升序排序。然后遍历哈希表将元素和对应出现的次数存入小顶堆中。如果堆的大小超过了 K就弹出堆顶元素保持堆的大小为 K。 找出前 K 个高频元素最后从小顶堆中依次取出前 K 个元素因为小顶堆的特性是先弹出频率最小 代码 class Solution { public:// 自定义比较类用于小顶堆的排序class mycomparison {public:// 重载 () 运算符实现小顶堆的比较规则bool operator()(const pairint, int lhs, const pairint, int rhs) {return lhs.second rhs.second; // 按照频率升序排序}};// 返回前 K 个高频元素vectorint topKFrequent(vectorint nums, int k) {// 统计元素出现频率unordered_mapint, int map; // 使用哈希表存储元素和对应出现的次数for (int i 0; i nums.size(); i) {map[nums[i]]; // 更新元素出现次数}// 对频率排序// 定义一个小顶堆大小为 kpriority_queuepairint, int, vectorpairint, int, mycomparison pri_que;// 遍历哈希表将元素和对应出现的次数存入小顶堆中for (unordered_mapint, int::iterator it map.begin(); it ! map.end(); it) {pri_que.push(*it); // 将元素和出现次数对压入小顶堆if (pri_que.size() k) { // 如果堆的大小超过了 k则弹出堆顶元素保持堆的大小为 kpri_que.pop(); // 弹出堆顶元素频率最小的}}// 找出前 K 个高频元素因为小顶堆先弹出的是频率最小的所以需要倒序输出到数组中vectorint result(k);for (int i k - 1; i 0; i--) {result[i] pri_que.top().first; // 将堆顶元素频率最小的放入结果数组中pri_que.pop(); // 弹出堆顶元素}return result; // 返回前 K 个高频元素} }; 4无效的推文 表Tweets ------------------------- | Column Name | Type | ------------------------- | tweet_id | int | | content | varchar | ------------------------- 在 SQL 中tweet_id 是这个表的主键。 这个表包含某社交媒体 App 中所有的推文。 查询所有无效推文的编号ID。当推文内容中的字符数严格大于 15 时该推文是无效的。 以任意顺序返回结果表。 查询结果格式如下所示 示例 1 输入 Tweets 表 -------------------------------------------- | tweet_id | content | -------------------------------------------- | 1 | Vote for Biden | | 2 | Let us make America great again! | --------------------------------------------输出 ---------- | tweet_id | ---------- | 2 | ---------- 解释 推文 1 的长度 length 14。该推文是有效的。 推文 2 的长度 length 32。该推文是无效的。 代码 selecttweet_id fromTweets wherechar_length(content) 15; 5每天的领导和合伙人 表DailySales ---------------------- | Column Name | Type | ---------------------- | date_id | date | | make_name | varchar | | lead_id | int | | partner_id | int | ---------------------- 该表没有主键(具有唯一值的列)。它可能包含重复项。 该表包含日期、产品的名称以及售给的领导和合伙人的编号。 名称只包含小写英文字母。 对于每一个 date_id 和 make_name找出 不同 的 lead_id 以及 不同 的 partner_id 的数量。 按 任意顺序 返回结果表。 返回结果格式如下示例所示。 示例 1: 输入 DailySales 表 ------------------------------------------- | date_id | make_name | lead_id | partner_id | ------------------------------------------- | 2020-12-8 | toyota | 0 | 1 | | 2020-12-8 | toyota | 1 | 0 | | 2020-12-8 | toyota | 1 | 2 | | 2020-12-7 | toyota | 0 | 2 | | 2020-12-7 | toyota | 0 | 1 | | 2020-12-8 | honda | 1 | 2 | | 2020-12-8 | honda | 2 | 1 | | 2020-12-7 | honda | 0 | 1 | | 2020-12-7 | honda | 1 | 2 | | 2020-12-7 | honda | 2 | 1 | ------------------------------------------- 输出 ----------------------------------------------------- | date_id | make_name | unique_leads | unique_partners | ----------------------------------------------------- | 2020-12-8 | toyota | 2 | 3 | | 2020-12-7 | toyota | 1 | 2 | | 2020-12-8 | honda | 2 | 2 | | 2020-12-7 | honda | 3 | 2 | ----------------------------------------------------- 解释 在 2020-12-8丰田toyota有领导者 [0, 1] 和合伙人 [0, 1, 2] 同时本田honda有领导者 [1, 2] 和合伙人 [1, 2]。 在 2020-12-7丰田toyota有领导者 [0] 和合伙人 [1, 2] 同时本田honda有领导者 [0, 1, 2] 和合伙人 [1, 2]。 代码 selectdate_id,make_name,COUNT(distinct lead_id) as unique_leads,COUNT(distinct partner_id) as unique_partners fromDailySales group by date_id, make_name;
http://www.hkea.cn/news/14441459/

相关文章:

  • 网站建设南京公司网站建设做网站属于什么学科
  • 荷塘网站建设做网站需要套模板
  • ip域名查询网站入口视频网站建设解决方案
  • 加强协会网站建设意义软件开发项目内容
  • h5做的分销网站asp网站后台模板
  • ps免费素材网站有哪些寄生虫网站怎么做
  • 网站集约化建设进度报告深圳网站建设公司哪里好
  • 中国各大网站玉器哪家网站做的好
  • 石家庄网站关键词推广互联网推广运营
  • 甘肃省专业做网站网站域名跳转怎么弄
  • 网站建设有那些步骤东莞网站建设模板报价
  • 2003网站服务器建设中云主机有什么用
  • windows 做网站服务器吗极酷wordpress
  • 微知微网站建设实训平台广州高端网页制作
  • 中国建设银行手机网站首页自己做的网站如何兼容ie11
  • 济南定制网站建设怎么在线上推广自己的产品
  • 专门做中式的设计网站wordpress wdone
  • 怎么上传网站在服务器上部署网站
  • 郴州企业网站建设郑州新闻发布
  • 台州外贸网站建设申请域名后怎么建设网站
  • 哈尔滨网站建立公司在俄罗斯用钱让女性做h事情的网站
  • 找人做网站都需要提供什么优购物官方网上商城
  • 百盛联合建设集团网站设计软件cad
  • 思坎普网站建设seo关键词排名优化
  • 外贸建站模板价格网易企业邮箱忘记密码
  • 五路居网站建设自助建网站工具
  • 怎么看别人网站是哪里做的wordpress 遍历 子页面
  • 哈尔滨网站建设的公司哪家好贝智康积分网站开发
  • 九江集团网站建设公司经典重庆网站
  • 万网云服务器怎么上传网站手机软件免费开发公司