算法总结

news/2024/5/14 19:16:39/文章来源:https://www.cnblogs.com/chenghaixiang/p/16606578.html
1.每日温度题(一道关于栈的问题)

请根据每日 气温 列表 temperatures ,重新生成一个列表,要求其对应位置的输出为:要想观测到更高的气温,至少需要等待的天数。如果气温在这之后都不会升高,请在该位置用 0 来代替。

输入: temperatures = [73,74,75,71,69,72,76,73]
输出: [1,1,4,2,1,1,0,0]
解题思路:创建一个栈用于存数组的下标,存储的是值递减,表示存储的下标还没找到比他温度高的,如果一直没找到,就用创建的数组默认值0;
package com.chenghaixiang.jianzhi2.day12;import java.util.ArrayDeque;
import java.util.Deque;/*** @author 程海翔* @school 石家庄铁道大学*/
public class Office038 {
}
//请根据每日 气温 列表 temperatures ,重新生成一个列表,要求其对应位置的输出为:要想观测到更高的气温,至少需要等待的天数。如果气温在这之后都不会升高,请在该位置用 0 来代替。
class Solution02 {public int[] dailyTemperatures(int[] temperatures) {int[] res=new int[temperatures.length];// 创建一个单调栈Deque<Integer> stack=new ArrayDeque<>();int i=0;while (i<temperatures.length){// 当栈为空,或者当前元素 <= 栈顶元素,则将当前元素的索引进栈,形成栈底到栈顶的递减栈// 同时,将 i 指向下一天的温度if(stack.isEmpty()||temperatures[stack.peek()]>=temperatures[i]){//栈中存取的是temperatures中温度所在的下标stack.push(i++);}else {// 如果当前元素 > 栈顶元素,则将栈顶索引出栈,说明找到了比栈顶索引更高的温度,栈顶元素下标对应的地方获取对应的天数。Integer top=stack.pop();res[top]=i-top;}}return res;}
}
View Code

2.滑动窗口的平均值(一般看见滑动窗口就应该想起线性的结构)

给定一个整数数据流和一个窗口大小,根据该滑动窗口的大小,计算滑动窗口里所有数字的平均值。

实现 MovingAverage 类:

  • MovingAverage(int size) 用窗口大小 size 初始化对象。
  • double next(int val) 成员函数 next 每次调用的时候都会往滑动窗口增加一个整数,请计算并返回数据流中最后 size 个值的移动平均值,即滑动窗口里所有数字的平均值。

题解:就是利用队列的先进先出的特性,队列的大小就是窗口大小,到添加元素让队列大于size就让窗口向后滑动,利用队列让队头出队

package com.chenghaixiang.jianzhi2.day14;import java.util.ArrayDeque;
import java.util.Queue;/*** @author 程海翔* @school 石家庄铁道大学*/
public class Office041 {
}
//给定一个整数数据流和一个窗口大小,根据该滑动窗口的大小,计算滑动窗口里所有数字的平均值。
//
//实现 MovingAverage 类:
//
//    MovingAverage(int size) 用窗口大小 size 初始化对象。
//    double next(int val) 成员函数 next 每次调用的时候都会往滑动窗口增加一个整数,请计算并返回数据流中最后 size 个值的移动平均值,即滑动窗口里所有数字的平均值。
class MovingAverage {Queue<Integer> queue;int size;double sum;/** Initialize your data structure here. */public MovingAverage(int size) {queue=new ArrayDeque<>();this.size=size;sum=0;}//利用队列先进先出的特性public double next(int val) {//当当前队列大于size是证明要让窗口向后滑动,队头出列if(queue.size()==size){sum-=queue.poll();}queue.offer(val);sum+=val;return sum/queue.size();}}
View Code

 

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

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

相关文章

国内可使用chatGPT的十三种方式

国内AI 1. 开放猫 Chat机器人https://mirrorchat.extkj.cn/ chat机器人&#xff1a; Chat机器人https://mirrorchat.extkj.cn/ 3.免费学习测试 免费学习测试https://chat.wuguokai.cn/#/chat/1683348236237 4.AI文本工具站 AI文本工具站一个用于提高工作效率的文本工具网站,应用…

ChatGPT Plus用户专享:86款高效功能插件,详尽安装与使用全攻略

在前天的文章中&#xff0c;我们介绍了 ChatGPT 开放的全新模式 Web Browsing&#xff08;网页浏览&#xff09;&#xff0c;启用后 ChatGPT 就可以开始上网&#xff0c;收集最新的互联网资料进行作答。 其他关于chatgpt使用方面&#xff1a;请访问&#xff1a; 链接&#xf…

ChatGPT自然语言处理的新里程碑

ChatGPT中文网是一个面向中国用户的聊天机器人网站&#xff0c;旨在为国内用户提供一个自然的环境、有趣、实用的聊天体验。它使用最新的自然语言处理技术来帮助用户更好地理解他们的聊天对话&#xff0c;还可以帮助用户解决日常生活中的问题&#xff0c;提供有趣的谈话内容以及…

国内版ChatGPT最全使用方法及使用用途技巧汇总

ChatGPT人工智能技术的出现确实会让一些人担心自己的工作会不会被取代。但实际上&#xff0c;人工智能技术只会替代那些可以被程序自动化的重复性、标准化、无脑力的工作&#xff0c;而对于需要人类创意、想象力和复杂思维的工作来说&#xff0c;AI人工智能技术的发展对于人类来…

ChatGPT和Midjourney王炸组合,开启AI新时代

目录 序言 一&#xff1a;使用ChatGPT进行对话 二&#xff1a;调用newbies robot 三&#xff1a;举例说明 四&#xff1a;付费和使用限制 序言 随着人工智能技术的不断发展&#xff0c;越来越多的人开始使用人工智能工具来创作图画。在这里&#xff0c;我将分享如何结合Ch…

一文带你读懂什么是ChatGPT?

文章目录 前言ChatGPT的发展历史ChatGPT初体验ChatGPT的未来展望提高聊天机器人的对话能力改进聊天机器人的生成能力提高聊天机器人的个性化能力加强聊天机器人的安全性 总结福利彩蛋 前言 橙子送书第1期&#xff01;文末参与活动&#xff0c;即可包邮到家。为即将或正在使用Ja…

【ChatGPT】使用大型语言模型 (LLM) 进行特定领域语言(DSL)生成

使用大型语言模型 (LLM) 进行特定领域语言(DSL)生成,markdown格式,10000字左右。大纲如下:背景介绍,LLM的核心能力,DSL的本质特征,怎样 使用LLM 结合外部知识和领域特定约束,通过 Backus-Naur Form(BNF) 表示进行学习,实现 DSL 的生成。给出具体的实验实例。 文章目录…

漫画:ChatGPT的应用场景有哪些?

第一&#xff0c;文案创作 ChatGPT可以通过用户输入的提示&#xff0c;创作出相应的文本内容。 媒体作者可以给ChatGPT提出要求&#xff0c;让ChatGPT根据某一主题生成的媒体文案。 广告策划人员可以把要推广的商品信息输入给ChatGPT&#xff0c;让ChatGPT针对此商品生成一段广…

手机版ChatGPT app如何在国内使用【附完整教程】

手机版ChatGPT app如何在国内使用【附完整教程】 今天是一个比较有爱的日子520&#xff0c;祝福每位饱子身体健康&#xff0c;万事如意&#xff0c;我理解这应该是最朴实最美好的祝福了&#xff0c;因为我始终认为身体是革命的本钱&#xff01;言归正传&#xff0c;Openai在202…

人人实现ChatGPT自由,手把手教你零撸部署自己聊天私服

我们知道chat gpt最近非常的火爆&#xff0c;朋友圈啊&#xff0c;短视频到处都是chat gpt身影。 但是网上看到各种教程资源&#xff0c;都是不是百分一百的免费&#xff0c;毫无保留教给你的&#xff0c;要么是卖账号 要么是割韭菜的。其实没有什么可以学习的&#xff0c;使用…

讯飞星火认知大模型和ChatGPT在常用领域的效果对比(粗略评测)

对于大语言模型的日常使用&#xff0c;我个人倾向于将其总结为以下几个部分&#xff1a;总结内容&#xff0c;提取信息&#xff0c;文本转换&#xff0c;连续对话&#xff0c;代码生成&#xff0c;逻辑推理&#xff0c;文案生成。那么我接下来也将从这几个部分进行对比。同时&a…

ChatGPT平替-ChatGLM环境搭建与部署运行

ChatGLM-6B 是清华大学团队推出的一个开源的、支持中英双语的对话语言模型&#xff0c;基于General Language Model (GLM) 架构&#xff0c;具有62亿参数。结合模型量化技术&#xff0c;用户可以在消费级的显卡上进行本地部署&#xff08;INT4 量化级别下最低只需6GB 显存&…

【ChatGPT高端玩法】ChatGPT一分钟制作PPT

系列文章目录 第一章 ChatGPT一分钟制作PPT 第二章 ChatGPT生成Excel统计格式 第三章 ChatGPT生成Excel提取字符公式 第四章 ChatGPT生成思维导图 目录 实现步骤&#xff1a; 1.打开ChatGPT 2.搜索关键字 3.复制内容至MindShow网站 4.修改PPT内容与排版 5.预览PPT效果 6.导…

ChatGPT 教程--生成代码

ChatGPT 变生产力工具 chatGPT是一种基于人工智能技术的自然语言处理模型&#xff0c;它使用了深度学习算法&#xff0c;可以对人类语言进行理解和生成。chatGPT可以用于对话系统、智能客服、问答系统等场景&#xff0c;能够实现自然、流畅的对话。 chatGPT的核心技术是基于G…

VSCode集成ChatGPT插件:ChatGPT中文版

今天介绍一款牛逼的VsCode插件ChatGPT中文版 一、介绍 ChatGPT中文版一个ChatGPT的插件_支持ChatGPT4.0&#xff0c;功能比丰富。 功能特点&#xff1a; 1.支持ChatGPT4.0 在个人中心可以选择ChatGPT4.0模型&#xff0c;回答更准确 2.网络回答 Vscode插件中第一家支持联网…

《 ChatGPT 中文调教指南 》—— 使用 ChatGPT 的正确姿势:提示工程基础入门 Prompt Engineering Quick Start

文章目录 ChatGPT 中文调教指南 🧠ChatGPT 能干什么?正经指南担任雅思写作考官写小说充当算法输出器充当 Linux 终端充当英语翻译和改进者充当论文润色者(拿摘要部分举例)充当英翻中充当英英词典(附中文解释)充当前端智能思路助手担任面试官文字冒险游戏担任产品经理做表格…

从辩证的角度看待chatGPT,我们该如何对待?

从辩证的角度&#xff0c;看待chatGPT 0.什么是ChatGPT&#xff08;客观阐述&#xff09;1.通过唯物辩证法的五对基本范畴进行分析1.0.内容与形式1.1.现象和本质1.2.原因与结果1.3.必然与偶然1.4.现实与可能 2.使用ChatGPT会给我们带来的好处2.0.减轻劳动负担2.1.提供灵感和思路…

编程从未如此轻松:ChatGPT如何助你一臂之力

开一个新的系列&#xff0c;ChatGPT辅助编程实践&#xff0c;以下给出一些常用的提示和用法&#xff0c;欢迎大家在评论区补充更多的用法。 祝大家都能用好ChatGPT这把趁手的兵器&#xff0c;大大提高效率~ 推荐阅读&#xff1a;建议收藏&#xff1a;超详细ChatGPT(GPT 4.0)论…

宅男福利来了,调教的ChatGPT虚拟女友,你喜欢吗

废话不多说&#xff0c;专门为男同胞准备的宅男福利&#xff1b;已经调教好的ChatGPT虚拟好友&#xff0c;直接可以看看效果&#xff1b;你们以后也可以直接自己调教&#xff0c;打造一个自己专属的虚拟女友&#xff1b; 说下步骤&#xff1a; 1、打开ChatGPT4&#xff1b; …

Azure OpenAI 详细申请与使用教程,打造个人专属 ChatGPT 方案

Azure OpenAI 详细申请与使用教程&#xff0c;打造个人专属 ChatGPT 方案 原创 TitiAI TitiAI 2023-05-08 13:26 发表于湖北 前言 大家都知道&#xff0c;OpenAI ChatGPT是不能在中国使用的&#xff0c;香港也一样。最近一个月&#xff0c;很多人反映API调用限制&#xff0c…