ARTS 2023.8.21-2023.8.27 (第一周)

news2024/11/24 15:20:21

ARTS 2023.8.21-2023.8.27 (第一周)

💡ARTS:

A:至少每周完成一道Leecode的算法题;

R:阅读并点评至少一篇英文技术文章;

T:学习至少一个技术技巧;

S:分享一篇有观点和思考的技术文章;

Algorithm🤦‍♀️

题目: 20.有效的括号
给定一个只包括 ‘(’,‘)’,‘{’,‘}’,‘[’,‘]’ 的字符串 s ,判断字符串是否有效。

有效字符串需满足:

  1. 左括号必须用相同类型的右括号闭合。
  2. 左括号必须以正确的顺序闭合。
  3. 每个右括号都有一个对应的相同类型的左括号。

示例 1:

输入:s = “()” 输出:true

示例 2:

输入:s = “()[]{}” 输出:true

示例 3:

输入:s = “(]” 输出:false

提示:

  • 1 <= s.length <= 104
  • s 仅由括号 ‘()[]{}’ 组成

解题思路:

  1. 当第一次读到题目时,首先想到的是可以通过前一个字符与后一个字符对比,以为()ASCLL相差是1(char[i+1] - char[i] == 1) ,结果他们并不是简单的相差1 (如下图) 的关系;他们并不是这样简单的关系;所有此方法并不通;

img

  1. 第二个解题思路是使用字符串替换的方式,当出现成对的 “()” “{}” “[]” 时,使用字符串replace方法把他们替换成空字符串"“,然后在最后对比替换后是否是空字符”"即可,但是测试还是失败的,因为题目如下情况也返回的是tuue;所以这种方式也行不通;
    • “( { [ ] } )”
  1. 在想到栈结构好像是可以表示两种状态,入栈与出栈.并且如果返回true的话肯定字符串长度是偶数;所有通过枚举把遇到’(‘时,吧’)‘入栈,遇到…,当遇不到’(’ ‘{’ ']'是说明当前遇到的就是他们的反向字符,通过当前字符并出栈对比即可;
public static boolean isValid(String s) {
    Stack<Character> stack = new Stack<Character>();
    for (Character s2 : s.toCharArray()) {
        if (s2.equals('(')) {
            stack.push(')');
        } else if (s2.equals('{')) {
            stack.push('}');
        } else if (s2.equals('[')) {
            stack.push(']');
        //对比,并且是有顺序的 
        } else if (stack.isEmpty() || !s2.equals(stack.pop())) {
            return false;
        }
    }
	//表示都是成对出现
    return stack.isEmpty();
}

Review📝

Medium是一个不错的阅读网站.

本次随缘浏览到Medium点进去就看到标题为 <<Why 99% of People Fail to Learn to Code>> 为什么99%的人学习不会编程.

网址: https://medium.com/@dogukanozdemir/why-99-of-people-fail-to-learn-to-code-4e1bf0ab4b9c

文章内容主要说了三个大点

  • Avoid Tutorial Hell at all costs.
  • Look for tutorials that have you build something with them.
  • Learn how to propely Google

大概的意思

  1. 学习编程时候要避免"教学地狱"学习方式,不能学完一个知识的内容就去学下一个知识,没有实际的去敲代码做项目;积极应用所学到的知识,然后尝试将自己的想法加入到代码中;
  2. 去寻找有用的教学资源,不要纠结太多在基础概念的知识上,寻找的教学内容应该是以实践为导向,找到不只是解释基础知识的教程,而是让你从一开始就构建一些东西。你会在实践中学习,这比看别人解释概念更吸引人,更令人难忘。
  3. 学习如何使用谷歌搜索引擎;如何正确地使用Google搜索是一项重要的技能,有效的搜索可以帮助我们节约很多时间;说白了就是要提供具体的错误信息;

例如: “我如何将数据库添加到我的Spring应用程序”应该是“连接Node.js到MongoDB”;不要告诉你错误了,而是要告诉你错误了什么;

编程不仅仅是记忆语法或阅读一本书,它更多的是关于构建东西和解决问题。


Tip🐾

​ 本次介绍的是Linux里的一个命令 sed,全称 stream editor (数据流编辑器);sed 是以数据流的方式对文本内容进行编辑;编辑器无非就是对数据的增删改查;

对 test.txt 文件进行操作;

[root@iZbp159sap0st00ew51eu1Z ~]# cat test.txt
hello Jobs
hello Pony
hello Jack,  hi Jack

​ 默认情况下,sed指令并不会对源文件进行直接修改,而且只会把处理好的内容打印到控制台,如果想直接操作文件需要加上 -i参数;

  1. 添加内容 (插入与追加)
sed -i '1i\hi xzy' test.txt
cat test.txt
>hi xzy
hello Jobs
hello Pony
hello Jack,  hi Jack

sed -i '1a\hi xzy' test.txt
cat test.txt
>hi xzy
hi xzy
hello Jobs
hello Pony
hello Jack,  hi Jack

一般sed 命令会把script (脚本)使用单引号 ''进行表示;

  • 1i表示在第1行insert (插入) 斜杠\ 后面的内容,即 hi xzy;
  • 1a表示在第1行append (追加) 斜杠\ 后面的内容,即 hi xzy;

\ 在这里表示分隔指令与内容,注意不是 /,请勿混淆!!


  1. 替换内容

2.1 把文件的 hi 改为 hello

sed -i 's/hi/hello/' test.txt
cat test.txt
>hello xzy
hello xzy
hello Jobs
hello Pony
hello Jack,  hello Jack

2.2 现在我们把内容改改,把一二行合成一行,然后在把hello改成hi看看结果;

hello xzy hello xzy

hello Jobs

hello Pony

hello Jack, hello Jack

sed -i 's/hello/hi/' test.txt
cat test.txt
>hi xzy hello xzy
hi Jobs
hi Pony
hi Jack,  hello Jack

我们发现好像只有每一个行第一个匹配到hello才会被替换成hi,要想全局替换的话我们需要再单引号结尾在加上’/g’参数,咱们马上去试一试看看是不是;

img

  • s/ 替换字符参数 (substitute) 第一个 /后面表示要匹配的字符 第二个 /表示替换的内容;默认匹配到每一行的第一个;

第一个/前面类似正则表达式,1,3s/表示第1行到第三行,不管是 s、i、d都可以搭配一起使用;


  1. 删除

其实和添加类似;

3.1 删除第几行

#删除1到2行
sed -i '1,2d' test.txt  
cat test.txt
>hi Pony
hi Jack,  hi Jack

3.2 匹配带某个字符所在的行进行删除

hi Pony

hi Jack, hi Jack

  • 把 Jack 字符所在的行删除
sed -i '/Jack/d' test.txt
cat test.txt
>hi Pony

总结:

  1. 除了上述常用的命令外, sed命令还有很多玩法,例如找出包含xx字符的那些行,将这些行中的 yy字符替换成zz;

  2. sed 命令很强大,在进行批量替换时会经常使用得到,学好改指令可以提高工作效率;可以去看看陈浩老师所发表过的博客文字;

    1. https://coolshell.cn/articles/9104.html

Share🎨

​ 昨晚上躺在床上刷微信订阅号的时候, 突然被一个为 “震撼!国产自研多环境开发软件 CEC-IDE 问世!遥遥领先!!” 成功引起了我的注意,很好奇的点了进去看了一下,进去看到的第一句话 “震撼到了!厉害!继国产自研浏览器、国产自研操作系统、国产自研手机系统后的全新力作:国产自研 IDE!” 我本来确实也震惊到了,原来国内已经有那么多自研"可代替"的产品,只不过在我的刻本印象里我的朋友包括我自己基本都是在使用国外开源的软件,例如 VSCODE,谷歌浏览器等等…现在终于有了遥遥领先的自研的国产的IDE了,作为一个民族自豪感很强的人,能不兴奋吗?

​ 该IDE名为 “CEC-IDE” ,是一款由数字广东公司与麒麟软件联合打造的,是国内首个适配国产操作系统、自主创新的一款安全、专业且功能强大的集成开发环境。

img

官网:https://cecide.digitalgd.com.cn/monorepo/app-front/home (现在访问貌似有问题了,不知道是不是用户使用太多了,没有考虑到高并发;还是寡人能力不够没资格使用的原因)

img

​ 很庆幸国产IDE的“卡脖子”问题终于得到了完美解决,并且与 VSCODE 插件完美无缝兼容,为了方便客户减少学习成本,能把产品做到与VSCODE 99%一致,并且还推迟了微软从来没有推迟的“会员功能”,这很创新,遥遥领先!

​ 现在是等待该官网进行恢复访问,迫不及待的想去试一试遥遥领先且自研的国产软件,毕竟是国产的肯定是会去支持拥护,同时呼吁大家一起支持国产,只要这样才能更加鼓舞更多的开发者去钻研突破“卡脖子”技术难题,国产软件崛起之路任重而道远!!

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Tina Ti 计算电路中的参数

如图所示 计算每个节点的参数 通过这个工具&#xff0c;就算你不知道电路的原理&#xff0c;电路网络分析&#xff0c;你都可以计算出理论值是多少。

PTA作业笔记——简单的输入输出

PTA前十题 7-2 输入输出整数7-3 输入输出单精度实数7-4 输入输出双精度实数7-5 输入输出字符7-6 整数的各种形式输出7-7 混合无间隔输入输出7-8 日期格式化7-9 区位码输入法 写在前面&#xff1a;不是很难的题目直接放上代码&#xff0c;只作为记录 初学C语言的时候涉及到的输入…

c++day3---9.8

1> 自行封装一个栈的类&#xff0c;包含私有成员属性&#xff1a;栈的数组、记录栈顶的变量 成员函数完成&#xff1a;构造函数、析构函数、拷贝构造函数、入栈、出栈、清空栈、判空、判满、获取栈顶元素、求栈的大小 头文件&#xff1a; #ifndef Z_H #define Z_H #inclu…

NV12数据格式转H265编码格式实现过程

一、需求 在视频处理和传输应用中&#xff0c;将视频数据编码为高效的格式是非常重要的。H.265&#xff08;也称为HEVC&#xff09;是一种先进的视频编码标准&#xff0c;具有更好的压缩性能和图像质量&#xff0c;相比于传统的编码标准&#xff08;如H.264&#xff09;&#…

ARTS 2023.8.28-2023.9.03 (第二周)

ARTS 2023.8.28-2023.9.03 &#xff08;第二周&#xff09; &#x1f4a1;ARTS&#xff1a; A&#xff1a;至少每周完成一道Leecode的算法题&#xff1b; R&#xff1a;阅读并点评至少一篇英文技术文章&#xff1b; T&#xff1a;学习至少一个技术技巧&#xff1b; S&#xff…

【计算机基础知识4】网络通信协议:TCP、UDP、WebSockets

目录 一、TCP&#xff08;传输控制协议&#xff09; 1. TCP的特点 2. TCP的连接建立和终止 3. TCP的可靠性机制 4. TCP的流量控制 二、UDP&#xff08;用户数据报协议&#xff09; 1. UDP的特点 2. UDP的使用场景 三、WebSockets 1. WebSockets协议的特点 2. WebSock…

二分搜索树深度优先遍历(Java 实例代码)

目录 二分搜索树深度优先遍历 Java 实例代码 src/runoob/binary/Traverse.java 文件代码&#xff1a; 二分搜索树深度优先遍历 二分搜索树遍历分为两大类&#xff0c;深度优先遍历和层序遍历。 深度优先遍历分为三种&#xff1a;先序遍历&#xff08;preorder tree walk&am…

严选算法模型质量保障

在算法模型整个生命周期**&#xff08;算法模型生命周期&#xff1a;初始训练数据 --> 模型训练 --> 模型评估 --> 模型预估 --> 训练数据&#xff09;**中&#xff0c;任何环节的问题引入都可能导致算法模型质量问题。所以我们在做模型质量保障的过程中&#xff0…

【日常笔记】使用Server过程中可能遇到的一些问题

使用Server过程中可能遇到的一些问题 1. 如何查找GPU型号与驱动版本之间的关系&#xff1f;2. 如何查看当前Server的内核版本&#xff1f;3. 使用Nvidia过程中可能用到的命令4. 对Jupyter Notebook的一些配置5. TensorFlow的一般操作6. 使用PyTorch的一些操作7. 修改安装源为国…

【漏洞复现】网互联路由器存在密码泄露

漏洞描述 蜂网互联-让链接无限可能&#xff0c;灵活的多线分流&#xff0c;强大的策略分流&#xff0c;灵活调度各种软件应用&#xff0c;深度识别系统&#xff0c;各种应用一网打尽&#xff0c;灵活调整优先级&#xff0c;最简单的路由器&#xff0c;简洁易学的配置&#xff…

MySQL——多表查询

多表查询 多表查询的出现&#xff0c;是为了解决当我们的数据不能存放在一张表上&#xff0c;或者我们的数据本身就是存在多张表上&#xff0c;需要根据字段之间的关系&#xff0c;联合多张表查询出想要的数据。那么根据业务实现的关系&#xff0c;表与表之前也出现了三种基本…

构建微服务项目时启动网关服务失败的解决方案

启动网关服务时报“Unable to create the temporary folder: C:\WINDOWS\TEMP\/nio-file-upload”错误。 代码与之前没有任何变化&#xff0c;但就是启动不了&#xff0c;观察错误意思大概是不能创建临时文件夹&#xff1a;C盘下的WINDOWS下的TEMP目录下的nio-file-upload这个东…

C#,数值计算——多项式微分(Binomial Deviates)的计算方法与源程序

1 文本格式 using System; namespace Legalsoft.Truffer { /// <summary> /// 二项式偏差 /// Binomial Deviates /// </summary> public class Binomialdev : Ran { private double pp { get; set; } private double p…

day57 补

647. 回文子串 力扣题目链接(opens new window) 给定一个字符串&#xff0c;你的任务是计算这个字符串中有多少个回文子串。 具有不同开始位置或结束位置的子串&#xff0c;即使是由相同的字符组成&#xff0c;也会被视作不同的子串。 示例 1&#xff1a; 输入&#xff1a…

机器学习——boosting之提升树

提升树和adaboost基本流程是相似的 我看到提升树的时候&#xff0c;懵了 这…跟adaboost有啥区别&#xff1f;&#xff1f;&#xff1f; 直到看到有个up主说了&#xff0c;我才稍微懂 相当于&#xff0c;我在adaboost里的弱分类器&#xff0c;换成CART决策树就好了呗&#xff1…

Yolov8-pose关键点检测:模型轻量化创新 | ​BiLevelRoutingAttention 动态稀疏注意力 | CVPR2023 BiFormer

💡💡💡本文解决什么问题:BiLevelRoutingAttention ,通过双层路由(bi-level routing)提出了一种新颖的动态稀疏注意力(dynamic sparse attention ) ​BiLevelRoutingAttention | GFLOPs从9.6降低至8.5,参数量从6482kb降低至6134kb, mAP50从0.921提升至0.926 Yolov8…

云备份服务端——实用类工具实现

一&#xff0c;文件实用类设计实现 不管是客户端还是服务端&#xff0c;文件的传输备份都涉及到文件的读写&#xff0c;包括数据管理信息的持久化也是如此&#xff0c;因此首先设计封装文件操作类&#xff0c;这个类封装完毕之后&#xff0c;则在任意模块中对文件进行操作时都将…

SLAM ORB-SLAM2(1)总体框架

SLAM ORB-SLAM2(1)总体框架 1. 简介2. 框架3. TRACKING4. LOCAL MAPPING5. LOOP CLOSING6. MAP1. 简介 ORB-SLAM2 是一个实时和完整的视觉SLAM系统(包括闭环检测、重定位、地图重用等功能) 提供了利用单目、双目以及RGB-D相机完成稀疏三维重建的功能和接口 2. 框架 总体来说…

c++day3

1> 自行封装一个栈的类&#xff0c;包含私有成员属性&#xff1a;栈的数组、记录栈顶的变量 成员函数完成&#xff1a;构造函数、析构函数、拷贝构造函数、入栈、出栈、清空栈、判空、判满、获取栈顶元素、求栈的大小 #include <iostream>using namespace std; clas…

baichuan2(百川2)本地部署的实战方案

大家好,我是herosunly。985院校硕士毕业,现担任算法研究员一职,热衷于机器学习算法研究与应用。曾获得阿里云天池比赛第一名,CCF比赛第二名,科大讯飞比赛第三名。拥有多项发明专利。对机器学习和深度学习拥有自己独到的见解。曾经辅导过若干个非计算机专业的学生进入到算法…