ARTS 挑战打卡的第一周,我学到了这些~

目录

前言

一、学习的内容

二、超时怎么办那就换种思路看题解

三、学习打卡成果展示

3.1 Github的小技巧

3.2 英文文章阅读

3.3 一篇很不错的Java面试题博客

四、学习技巧的总结


前言

关于 ARTS 的释义
● Algorithm: 每周至少做一个 LeetCode 的算法题
● Review: 阅读并点评至少一篇英文技术文章
● Tips: 学习至少一个技术技巧
● Share: 分享一篇有观点和思考的技术文章

一、学习的内容

为了满足活动需求,我这周特意干了以下事情:

1. 一道有关前缀后缀积的算法题

2. 一篇关于AIGC助力转型智慧图书馆的外文期刊

3. 发现了GitHub的一个很方便的小技巧

4. 分享一篇对于正在寻找实习的小伙伴一篇很不错的面试文章。

二、超时怎么办那就换种思路看题解

对于很久没刷算法的我来说,现在想要做出一道需要用到一点点小技巧的的题目我就没思路了,还得是要经常多动动脑子啊,平常还是要练一下算法囖。

就比如下面这道题目:

给你一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。

题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在  32 位 整数范围内。

不要使用除法,且在 O(n) 时间复杂度内完成此题。

正常一般会想到的是直接两个套for循环,我第一思路就是这样,但是我也知道这样肯定对于某些案例肯定超时:但是先不管,先写了再说,源代码如下:

class Solution {public int[] productExceptSelf(int[] nums) {int sizes = nums.length;int answer [] = new int [sizes];for(int i=0;i<sizes;i++){answer[i] = 1;for(int j=0;j<sizes;j++){if(j!=i){answer[i] *= nums[j];}}};return answer;}
}

这样运行结果就是只能通过部分案例:如下图 

不过这样还能通过80%的案例是我没想到的。然后就琢磨这么样才能让时间复杂度为O(n),惨了,想不出,那就看一下大家的题解hhh,才想起来要用前缀后缀积来写,是我太笨了。

大概的逻辑过程就是使用前缀积和后缀积,然后把前缀积和后缀积相乘。例程代码如下:

class Solution {public int[] productExceptSelf(int[] nums) {int sizes = nums.length;int answer [] = new int [sizes];int prew = 1, next = 1;for(int i=0;i<sizes;i++){answer[i] = 1;}for(int i=0;i<sizes;i++){answer[i]*=prew;prew*=nums[i];answer[sizes-1-i]*=next;next*=nums[sizes-1-i];};return answer;}
}

 只可惜时间复杂度是O(2n),但是广义上来说也算是O(n);因此也能通过,上述代码执行过程如下:

假如 nums[] = {1,2,3,4};

i = 0: ans[0] = 1*1;   prew = 1*1;   ans[3] = 1*1;   next = 1*4;

i = 1: ans[1] = 1*1*1; prew = 1*1*2; ans[2] = 1*1*4; next = 1*4*3

i = 2: ans[2] = 1*1*4*1*1*2; prew = 1*1*2*3; ans[1] = 1*1*1*1*4*3; next = 1*4*3*2

i = 3; ans[3] = 1*1*1*1*3*2; prew = 1*2*3*4; ans[0] = 1*1*1*4*3*2; next = 4*3*2*1

ans[0] = 1*1*1*4*3*2 = 24

ans[1] = 1*1*1*1*4*3 = 12

ans[2] = 1*1*4*1*1*2 = 8

ans[3] = 1*1*1*1*3*2 = 6

三、学习打卡成果展示

上述的题目也是可以通过了:

3.1 Github的小技巧

就是如果你有一个前端工程的话,你要是想能随时看到页面的渲染效果,但是又不想部署在服务器上,那你可以新建一个仓库,仓库命名要为.github.io结尾才可以,这样你就可以将build之后的生成的dist目录下的assets目录放到仓库里面去,那么你访问这个仓库的时候,会直接给你渲染这个工程的效果。

就比如我之前为了给同学送生日红包写的一个抽金额的案例:直接点击仓库的网址就可以使用了。非常方便!(背景图片就不要在意了哈,因为根据她的爱好来给她设置的哈哈哈

抽金额https://longstudy1.github.io/vuetest.github.io/

3.2 英文文章阅读

因为AIGC目前比较火热,所以我也找了一篇关于AIGC相关的英文文章来看,链接如下:

Smart Library Transformation Research Empowered by AIGC Technology | Francis Academic PressFrancis Academic Press is one of the world’s largest publishers of peer-reviewed, fully Open Access journals. Built on an ethos of openness, we are passionate about working with the global academic community to promote open scholarly research to the world. With the help of our academic Editors, based in institutions around the globe, we are able to focus on serving our authors while preserving robust publishing standards and editorial integrity.https://francis-press.com/papers/10935

这篇文章主要讲的是AIGC助力图书馆转型为智能图书馆的举措和思路,旨在通过人工智能和图形计算方面的技术将图书馆实现流程自动化,增强用户体验, 提高图书使用效率和增强用户使用体验。

文中也列举了一个例子,重庆的Raffles图书馆就是一座新型的智能图书馆,采用了AR和VR等尖端技术,图书馆使用AIGC来实现图书推荐,并能根据用户行为和偏爱来进行实时建议。这也是一个是非常棒的实践。侧面说明了AIGC的大有作为,还是非常值得我们期待的。希望能运用到更多的行业里面,带给我们更多的惊喜。

3.3 一篇很不错的Java面试题博客

这篇博客我们感觉讲到的面试题都非常常见且全面,我日常也会看,可能有些知识点我们目前还没有学过,但是我觉得我们还是很有必要看一下的。

Java 面试必会(应届必备)_java工作面试_书启秋枫的博客-CSDN博客代理模式。_java工作面试https://blog.csdn.net/qq_45037155/article/details/128560597?spm=1001.2014.3001.5506

四、学习技巧的总结

通过这一周的学习,感觉面试题还是得天天看,八股文还是得看,还要算法题也是要每周最少做一道才行,不然脑子总是不好使了。然后有时间的话也可以看一些外文期刊,不仅可以提高一下我们的见识,同时也是训练我们的英语水平。总的来说还是非常nice。

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

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

相关文章

Cesium相机理解

关于cesium相机&#xff0c;包括里面内部原理网上有很多人讲的都很清楚了&#xff0c;我感觉这两个人写的都挺好得&#xff1a; 相机 Camera | Cesium 入门教程 (syzdev.cn) Cesium中的相机—setView&lookAtTransform_cesium setview_云上飞47636962的博客-CSDN博客上面这…

微信小程序在使用vant组件库时构建npm报错

在跟着vant官方进行使用步骤一步步操作时&#xff0c;由于要构建NPM&#xff0c;但NPM包在App配置文件的外部 所以在做下图这一步时&#xff1a; 接着再进行npm构建时会报错 message:发生错误 Error: F:\前端学习\前端框架\小程序\project\demo\miniprogram解决方法 &#xf…

【枚举】CF1660 D

Problem - 1660D - Codeforces 题意&#xff1a; 思路&#xff1a; 思路巨简单&#xff0c;代码也wa了很多发才过&#xff0c;都是因为细节.... 很显然&#xff0c;要根据0分段处理 对于每一段&#xff0c;枚举去掉左边段还是右边段&#xff0c;左边段是 l 到第一个负数&am…

数据库技术--数据库引擎,数据访问接口及其关系详解(附加形象的比喻)

目录 背景数据库引擎Jet数据库&#xff1a;ISAM&#xff1a;ODBC&#xff08;Open Database Connectivity&#xff09;&#xff1a; 数据访问接口ADO&#xff08;ActiveX Data Objects&#xff09;DAO&#xff08;Data Access Objects&#xff09;RDO&#xff08;Remote Data O…

MySQL和钉钉单据接口对接

MySQL和钉钉单据接口对接 数据源系统:钉钉 钉钉&#xff08;DingTalk&#xff09;是阿里巴巴集团打造的企业级智能移动办公平台&#xff0c;是数字经济时代的企业组织协同办公和应用开发平台。钉钉将IM即时沟通、钉钉文档、钉闪会、钉盘、Teambition、OA审批、智能人事、钉工牌…

【小梦C嘎嘎——启航篇】内存管理小知识~

【小梦C嘎嘎——启航篇】内存管理小知识~&#x1f60e; 前言&#x1f64c;malloc/calloc/realloc的区别&#xff1f;new 与 deletenew与delete要找好搭档才能保证万无一失 new 与 delete的内部实现细节是怎么样的呢&#xff1f;&#xff1f;&#xff1f;new 的内部实现细节dele…

第五次作业 运维高级 构建 LVS-DR 集群和配置nginx负载均衡

1、基于 CentOS 7 构建 LVS-DR 群集。 LVS-DR模式工作原理 首先&#xff0c;来自客户端计算机CIP的请求被发送到Director的VIP。然后Director使用相同的VIP目的IP地址将请求发送到集群节点或真实服务器。然后&#xff0c;集群某个节点将回复该数据包&#xff0c;并将该数据包…

Rust 编程小技巧摘选(7)

目录 Rust 编程小技巧(7) 1. 交换变量 2. 翻转数组 3. for_each() 用法 4. 结构体 Display trait 5. HashMap 和 BTreeMap 6. 遍历输出哈希表 7. 分离奇数和偶数 8. 判断素数&#xff08;质数&#xff09; Rust 编程小技巧(7) 1. 交换变量 与python, go等语言用法类…

第一百二十七天学习记录:我的创作纪念日

机缘 今天收到CSDN官方的来信&#xff0c;想想也可以对我前面的学习记录进行一个总结。 关于来到CSDN的初心&#xff0c;也就是为了让自己养成一个良好的学习总结的习惯。这里要感谢我C语言视频教程的老师&#xff0c;是他建议学生们在技术博客中进行记录。对于技术博客&…

RabbitMQ的6种工作模式

RabbitMQ的6种工作模式 官方文档&#xff1a; http://www.rabbitmq.com/ https://www.rabbitmq.com/getstarted.html RabbitMQ 常见的 6 种工作模式&#xff1a; 1、simple简单模式 1)、消息产生后将消息放入队列。 2)、消息的消费者监听消息队列&#xff0c;如果队列中…

从零开始学python(十六)爬虫集群部署

前言 今天讲述Python框架源码专题最后一个部分&#xff0c;爬虫集群部署&#xff0c;前面更新了十五个从零开始学python的系列文章&#xff0c;分别是&#xff1a; 1.编程语法必修篇 2.网络编程篇 3.多线程/多进程/协程篇 4.MySQL数据库篇 5.Redis数据库篇 6.MongoDB数据库篇 …

Linux:Shell编辑之文本处理器(sed)

目录 绪论 1、sed的原理&#xff1a;读取 执行 显示 三个过程 2、sed 文本内容处理工具&#xff0c;文件过大怎么办&#xff1f; 3、sed的操作选项 3.1 常用选项 3.2 操作符 3.3 行号的范围打印 3.4 对包含指定字符串的内容进行打印 3.5 删 3.5.1 正则表达式删除 3.6…

Vue3 Props组件简单应用(父组件获取子组件数据)

去官网学习→Props | Vue.js 运行示例&#xff1a; 代码&#xff1a;App.vue <template><img alt"Vue logo" src"./assets/logo.png"><h2>Vue Props数据传递</h2><h4>子组件中的数据&#xff1a;{{ content }}</h4>…

【设计模式】桥接模式

桥接&#xff08;Bridge&#xff09;是用于把抽象化与实现化解耦&#xff0c;使得二者可以独立变化。这种类型的设计模式属于结构型模式&#xff0c;它通过提供抽象化和实现化之间的桥接结构&#xff0c;来实现二者的解耦。 这种模式涉及到一个作为桥接的接口&#xff0c;使得…

AI:03-基于深度神经网络的低空无人机目标检测图像识别的研究

文章目录 数据集收集与预处理深度神经网络模型设计模型训练与优化目标检测与图像识别代码实现:实验结果与分析讨论与展望低空无人机的广泛应用为许多领域带来了巨大的潜力和机会。为了实现无人机的自主导航和任务执行,准确的目标检测和图像识别是至关重要的。本文旨在研究并提…

SQL | 排序检索的数据

3-排序检索的数据 使用order by语句排序检索到的数据。 3.1-排序数据 使用SQL语句返回一个数据表的列。 select prod_id from products; --------------------- | prod_name | --------------------- | 8 inch teddy bear | | 12 inch teddy bear | | 18 inch teddy bear |…

【2023 华数杯全国大学生数学建模竞赛】 A题 隔热材料的结构优化控制研究 问题分析及完整论文

【2023 华数杯全国大学生数学建模竞赛】 A题 隔热材料的结构优化控制研究 问题分析及完整论文 1 题目 A 题 隔热材料的结构优化控制研究 新型隔热材料 A 具有优良的隔热特性&#xff0c;在航天、军工、石化、建筑、交通等高科技领域中有着广泛的应用。 目前&#xff0c;由单…

uniapp 小兔鲜儿 - 首页模块(1)

目录 自定义导航栏 静态结构 安全区域​ 通用轮播组件 静态结构 自动导入全局组件 全局组件类型声明 .d.ts文件 注册组件 vue/runtime-core 首页 – 轮播图指示点 首页 – 获取轮播图数据 首页 – 轮播图数据类型并渲染 首页 – 轮播图总结 首页分类 首页 – 前…

RocketMQ 延迟消息

RocketMQ 延迟消息 RocketMQ 消费者启动流程 什么是延迟消息 RocketMQ 延迟消息是指&#xff0c;生产者发送消息给消费者消息&#xff0c;消费者需要等待一段时间后才能消费到。 使用场景 用户下单之后&#xff0c;15分钟未支付&#xff0c;对支付账单进行提醒或者关单处理…

推荐 4 个 yyds 的 GitHub 项目

本期推荐开源项目目录&#xff1a; 1. 开源的 Markdown 编辑器 2. MetaGPT 3. SuperAGI 4. 一个舒适的笔记平台 01 开源的 Markdown 编辑器 Cherry 是腾讯开源的 Markdown 编辑器&#xff0c;基于 Javascript具有轻量简洁、易于扩展等特点&#xff0c; 它可以运行在浏览器或服…