热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

如何在极客博客上写DSA文章?

如何在极客博客上写DSA文章?原文:https://www

如何在极客博客上写 DSA 文章?

原文:https://www . geesforgeeks . org/how-write-DSA-articles-on-geesforgeeks/

GeeksforGeeks 为所有编码爱好者提供了一个机会,通过编写编码或基于 DSA 的文章来展示他们的编程和数据结构与算法技能。然而,许多人(尤其是大学生或初学者)发现很难清楚地表达他们的学习和技能,并在极客论坛上做出贡献。但是现在这个问题已经解决了,因为这篇文章将指导你完成在 GeeksforGeeks 写编程/DSA 文章的整个过程和指导方针。

DSA-Article-Writing-Guidelines

我们开始吧:

首先,你需要知道如何在 GFG 开始文章写作,以及各种其他基本方面,比如你为什么要投稿,在哪里写作,等等。你可以查看这个 链接 全面了解这些细节。

如何验证能不能写文章?

现在,你需要检查你是否能写一篇关于特定主题/问题的文章。您可以按照下面提到的步骤进行操作:


  1. 在极客网站的自定义搜索中搜索标题和问题陈述。如果存在,不要写。

  2. 然后在谷歌上搜索标题、问题陈述和例子(一起和/或单独),从其他网站找到相关的现有链接。如果同样的内容在某个地方也可以获得,这将导致剽窃,因此不能被接受。

  3. 搜索一些基本的变体或一般化的问题陈述。如果被发现,将被视为抄袭。

文章通过以上几点,文章就可以写了。

编码文章格式和指南

接下来,让我们看看在 GeeksforGeeks 写一篇编码文章时需要遵循的格式和准则。编程文章应包含以下要点:


  1. 问题陈述

  2. 例子(二)。举例说明,以便正确理解我们是如何取得结果的。

  3. 链接的先决条件的方法,如果有。

  4. 用来解决问题的方法。

    1. 首先,一个基本的想法或者直觉

    2. 然后逐步指出这种方法将如何工作

    3. 使用粗体、区块引用或 pre 突出显示任何重要的观察点或点。



  5. 实现/代码。如果有多种语言的代码,顺序应该是 C++、Java、Python3、C#。请注意,不接受 Python 2 代码,但接受 Python 3 代码。

  6. 时间复杂性和辅助空间,以及用于表达这些的术语的解释。

请尽量保持语言简单、具体,不要用我、你、我们等代词

方法格式

如果进场是:

我们创建一个布尔类型的标记[]数组。我们遍历字符串的所有字符,每当我们看到一个字符,我们就标记它。小写和大写被认为是相同的。所以‘A’和‘A’标记在索引 0 中,类似地‘Z’和‘Z’标记在索引 25 中。

以上可以写成:

这种方法基于散列


  1. 创建大小为 26 的布尔类型的哈希数据结构,这样索引 0 代表字符“a”,1 代表字符“b”,依此类推。

  2. 逐个字符遍历字符串,并将特定字符标记为哈希中存在的字符。

  3. 在完成字符串的遍历和标记后,遍历哈希并查看是否所有字符都存在,即每个索引都为真。如果都标记了,那么返回真,否则返回假。



示例方法:

问题–在 NxN 板上打印设置 N 件的所有唯一组合

方法:这个问题可以通过使用递归生成所有可能的解来解决。现在,按照以下步骤解决这个问题:


  1. 创建一个名为 allCombinations 的函数,它将生成所有可能的解。

  2. 它将取一个整数pieced表示放置的总件数,整数 N 表示需要放置的件数,两个整数 rowcol 表示当前件将要放置的行和列,以及一个字符串 ans 作为参数,用于存储放置件的矩阵。

  3. 现在,对所有组合的初始调用将通过 0 作为分段N00 作为,以及一个空字符串作为

  4. 在每次通话中,检查基本情况,即:

    • 如果行变成 N 并且所有的片都被放置,即片被放置=N 。然后打印 ans 返回。否则如果不是 N ,那么就从这个调用返回。



  5. 现在打两个电话:

    • 一个是在当前位置加一个' ,一个是离开该位置加 '-'* 。



  6. 之后,递归调用将打印所有可能的解决方案。



如何在文章中添加代码?

更进一步,现在您需要理解在文章中添加代码的过程。具体如下:

您可以使用“添加代码”按钮添加代码。

Add-Code-in-GFG-Articles

要以多种编程语言添加代码,您可以选择添加另一种语言选项,如下所示。之后点击继续按钮。

Adding-Multiple-Languages-Codes

如果您的代码由于编译器不支持的库等任何原因而无法编译或运行,您希望演示错误等,请取消选中“启用 Ide 上的运行”选项,从代码中删除运行按钮。当您尝试使用“追加输出”按钮追加输出时,该按钮也避免了错误,该按钮位于“添加代码按钮旁边。

编码标准

您需要确保遵循下面提到的编码标准:

1) 函数和变量名遵循 camel 大小写。例如,getMin()、getMax()和 removeDuplicates()、isPresent 等。

2) 驱动程序代码(或主功能)不包含任何逻辑。它只包含输入/输出和函数调用。

3) 缩进应使用 4 个空格。

4) 一行最多 60 个字符,这样程序就可以在移动设备上阅读,而无需太多的水平滚动。

C

// Below style should be avoided
int fun(int a, int sumSoFar, int currSum, char val, int *result)
// The above should be written as
int fun(int a, int sumSoFar, int currSum, char val,
        int *result)

C++

// Below style should be avoided
 cout <<"Sample code to understand coding style for more readability of millions of readers" <// The above should be written as
cout <<"Sample code to understand coding style for"
     <<" more readability of millions of readers"
     <

5) 如果代码是用 Python、Java、C/C++等多种语言编写的,那么所有代码的输出应该是相同的。

6) 避免使用 scanf(或 cin)语句。

7) 如果,否则,为

C

// There should be one space after while, no other
// spaces
while (i <0)   
if (x {
}

8) 函数调用或函数声明不应有任何空格

C

// No spaces after "reverse" or after "("
void reverse(char* str, int low, int high)
{
    while (low     {
        swap(&str[low], &str[high]);
        ++low;
        --high;
    }
}   
// Driver program to test above function
int main()
{
   char str[] =  "geeksforgeeks";
   reverse(str);
   return 0;
}

9) 避免使用 typdef。

10) 函数名的形式应为“ m axOfTwo()”,变量名的形式应为“max_of_two”或与函数名样式相同。类/结构名称的形式应该是“ C omplexNumber”或“ S uffixTreeNode”。宏名应该是大写字母,比如 MAX_SIZE。

11) 避免使用静态和全局变量。

12) 当我们使用 cout 时,必须使用 cout 与“<<”之间的空格以及两个“<<”之间的空格。例如:

C++

cout <<"Sample" <<"Example"

13) 声明列表和参数传递中逗号后面要有空格。

C

int x, y, z;
fun(x, y, z);

14) 赋值运算符中应该有空格

C

// Should be avoided
int x, y=0;
// Should be followed
int x, y = 0;
// Should be avoided
x+=10;
// Should be followed
x += 10;

15) 请在每期节目开始时,写一行字,说出节目的目的:

Java 语言(一种计算机语言,尤用于创建网站)

// Java program to illustrate sum of two numbers

注意:强烈建议在数据结构/算法文章中的代码后增加时间复杂度。

图像创建指南

图像创建指南如下:


  • 图像的名称必须是相关。例如,如果图像描述了“:”使用链表添加两个数字,则图像的标题必须是:“使用链表添加两个数字”。

  • 如果使用 packet tracer 构建图像,请尽可能发送屏幕记录来代替图像。

  • 如果是截图,请在输出中的某个地方添加 GeeksforGeeks(或 GFG)。例如,它可能是文件夹名称、图像标题等。

  • 必须使用一些图像绘制工具来创建自己的图像(例如:谷歌绘图、微软绘画、https://www.draw.io/)。不得从任何其他来源获取图像,以避免任何版权问题。您可以遵循以下准则来创建极客风格的图像:

    • 图像的边界/轮廓应为黑色。

    • 要写的文字应该是绿色的。

    • 我们的重点应该是使用白色背景,如果需要其他背景颜色,请使用绿色作为背景,白色在文本中。

    • 红色应该用来显示动作、表现、变化和其他事物。

    • 如果图片中需要更多的颜色,请联系 GeeksforGeeks 的审查者来指导您。



请参见下面的示例图像,以清楚了解阵列的图像创建:

C# Arrays

要点(附示例)

1。如果方法非常简单或简洁,那么就没有必要提及解决问题的分步要点——解决问题的步骤可以在单个段落中介绍。例如–查看本文: 将元素转换为正方形后对链表进行排序

2。在数据结构/算法文章中的代码后添加时间复杂度和辅助空间。查看文章以供参考: 在 NxN 板上打印设置 N 件的所有独特组合

3。在使用高效方法解决问题时,您首先需要说明为什么它比幼稚/旧方法更好。例如–查看本文: 对(arr[i],arr[j])进行计数,使得 arr[i] + j 和 arr[j] + i 相等

4。再来几篇样文:


  • 将跳跃索引选择的元素 arr[i]的总和最大化值 i

  • 在给定的二进制数组中,如果连续三元组可被 3 整除,则通过删除中间元素来查找 0 是否被移除更多或 1

  • 检查一个数是否可以表示为一个质数和一个合成数的乘积


推荐阅读
  • 本文介绍了闭包的定义和运转机制,重点解释了闭包如何能够接触外部函数的作用域中的变量。通过词法作用域的查找规则,闭包可以访问外部函数的作用域。同时还提到了闭包的作用和影响。 ... [详细]
  • VScode格式化文档换行或不换行的设置方法
    本文介绍了在VScode中设置格式化文档换行或不换行的方法,包括使用插件和修改settings.json文件的内容。详细步骤为:找到settings.json文件,将其中的代码替换为指定的代码。 ... [详细]
  • 本文介绍了Java工具类库Hutool,该工具包封装了对文件、流、加密解密、转码、正则、线程、XML等JDK方法的封装,并提供了各种Util工具类。同时,还介绍了Hutool的组件,包括动态代理、布隆过滤、缓存、定时任务等功能。该工具包可以简化Java代码,提高开发效率。 ... [详细]
  • 本文介绍了高校天文共享平台的开发过程中的思考和规划。该平台旨在为高校学生提供天象预报、科普知识、观测活动、图片分享等功能。文章分析了项目的技术栈选择、网站前端布局、业务流程、数据库结构等方面,并总结了项目存在的问题,如前后端未分离、代码混乱等。作者表示希望通过记录和规划,能够理清思路,进一步完善该平台。 ... [详细]
  • vue使用
    关键词: ... [详细]
  • 本文详细解析了JavaScript中相称性推断的知识点,包括严厉相称和宽松相称的区别,以及范例转换的规则。针对不同类型的范例值,如差别范例值、统一类的原始范例值和统一类的复合范例值,都给出了具体的比较方法。对于宽松相称的情况,也解释了原始范例值和对象之间的比较规则。通过本文的学习,读者可以更好地理解JavaScript中相称性推断的概念和应用。 ... [详细]
  • Iamtryingtomakeaclassthatwillreadatextfileofnamesintoanarray,thenreturnthatarra ... [详细]
  • Nginx使用(server参数配置)
    本文介绍了Nginx的使用,重点讲解了server参数配置,包括端口号、主机名、根目录等内容。同时,还介绍了Nginx的反向代理功能。 ... [详细]
  • 向QTextEdit拖放文件的方法及实现步骤
    本文介绍了在使用QTextEdit时如何实现拖放文件的功能,包括相关的方法和实现步骤。通过重写dragEnterEvent和dropEvent函数,并结合QMimeData和QUrl等类,可以轻松实现向QTextEdit拖放文件的功能。详细的代码实现和说明可以参考本文提供的示例代码。 ... [详细]
  • 最近学习反射机制的时候Properties.load(读取本地文件流的时候怎么也找不到加载文件后面发现IDEA的默认根目录是在它的Project工程下IDEA的文件目录和Ec ... [详细]
  • Linux重启网络命令实例及关机和重启示例教程
    本文介绍了Linux系统中重启网络命令的实例,以及使用不同方式关机和重启系统的示例教程。包括使用图形界面和控制台访问系统的方法,以及使用shutdown命令进行系统关机和重启的句法和用法。 ... [详细]
  • Java序列化对象传给PHP的方法及原理解析
    本文介绍了Java序列化对象传给PHP的方法及原理,包括Java对象传递的方式、序列化的方式、PHP中的序列化用法介绍、Java是否能反序列化PHP的数据、Java序列化的原理以及解决Java序列化中的问题。同时还解释了序列化的概念和作用,以及代码执行序列化所需要的权限。最后指出,序列化会将对象实例的所有字段都进行序列化,使得数据能够被表示为实例的序列化数据,但只有能够解释该格式的代码才能够确定数据的内容。 ... [详细]
  • 原文地址:https:www.cnblogs.combaoyipSpringBoot_YML.html1.在springboot中,有两种配置文件,一种 ... [详细]
  • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
  • 怀疑是每次都在新建文件,具体代码如下 ... [详细]
author-avatar
遗留下的痛cc-x_393
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有