• java基础算法题

    时间:2022-11-22 20:41:12

    为了提高自己的代码能力和算法能力,我决定每天学习一道算法题,吸收前辈思想。【程序1】 TestRabbit.java题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?程序分析:兔子数量的规律为数列:1,...

  • 基础算法篇——双指针算法

    时间:2022-11-07 17:09:09

    本次我们介绍基础算法中的双指针算法,我们会从下面几个角度来介绍:双指针简介双指针基本使用最长连续不重复字符列数组元素的目标和判断子序列双指针简介首先我们先来简单介绍一下双指针:双指针算法就是采用两个变量作为指针放在数组的某个部位来实现复杂度简化我们来介绍一下双指针的使用场景:双指针通常用于简化双fo...

  • 基础算法篇——前缀和与差分

    时间:2022-11-07 11:30:38

    本次我们介绍基础算法中的前缀和与差分,我们会从下面几个角度来介绍前缀和与差分:前缀和介绍一维前缀和二维前缀和差分介绍一维差分二维差分前缀和介绍首先我们来简单介绍一下前缀和:我们首先定义一个长度为n的数组,然后我们希望求这个数组的部分长度的总和如果正常采用我们的for循环来遍历一遍的话:复杂度为O(n...

  • 基础算法篇——前缀和与差分

    时间:2022-11-07 08:09:01

    本次我们介绍基础算法中的快速排序,我们会从下面几个角度来介绍前缀和:前缀和介绍前缀和基本题型前缀和介绍首先我们来简单介绍一下前缀和:我们首先定义一个长度为n的数组,然后我们希望求这个数组的部分长度的总和如果正常采用我们的for循环来遍历一遍的话:复杂度为O(n)这时如果我们提前将这些数据保存起来,在...

  • 基础算法篇——归并排序

    时间:2022-11-02 10:09:44

    本次我们介绍基础算法中的快速排序,我们会从下面几个角度来介绍快速排序:归并排序思想归并排序代码归并排序拓展归并排序思想我们首先来介绍归并排序思想(分治思想):确定分界点我们首先确定整个数组的分界点以我们的习惯而言还是以arr[l],arr[r],arr[(r+l)/2]为分界点递归排序我们首先需要将...

  • 基础算法篇——快速排序

    时间:2022-11-02 08:06:56

    本次我们介绍基础算法中的快速排序,我们会从下面几个角度来介绍快速排序:快速排序介绍暴力求解算法快速排序算法快速排序代码快速排序问题快速查找算法快速排序介绍我们首先来简单介绍快速排序问题:首先我们需要确定一个分界点这个分界点我们可以任意选择我们常用的分界点有q[l],q[(l+r)/2],q[r]这三...

  • Java入门:基础算法之二进制转换为十进制

    时间:2022-09-22 11:42:43

    Java有两种方法可以将二进制数转换为十进制数:1)使用Integer类的Integer.parseInt()方法。2)自己编写转换逻辑。方法1:使用Integer.parseInt()实现二进制转换为十进制import java.util.Scanner;class BinaryToDecimal...

  • C语言的10大基础算法

    时间:2022-09-13 19:14:06

    算法是一个程序和软件的灵魂,作为一名优秀的程序员,只有对一些基础的算法有着全面的掌握,才会在设计程序和编写代码的过程中显得得心应手。这篇文章主要介绍了C语言的10大基础算法,需要的朋友可以参考下

  • php四种基础算法代码实例

    时间:2022-09-09 21:51:18

    算法是程序的核心,今天我们就学习一下php的四种基础算法:冒泡,选择,插入和快速排序法。

  • Python机器学习之Kmeans基础算法

    时间:2022-09-04 17:40:26

    这篇文章主要介绍了Python机器学习之Kmeans基础算法,文中有非常详细的代码示例,对正在学习python的小伙伴们有非常好的帮助,需要的朋友可以参考下

  • 基础算法之四--排序:之快速排序

    时间:2022-08-26 11:24:41

       与简单排序不同,快序排序所需的比较次数较少,是内部排序中速度较快的一种排序方法。    算法思想: 分-------------- 将待排序集合划分为2部分 (一部分小于准则值,一部分大于等于准则值)                          这个分的过程是不断迭代的,直到无法再分为...

  • 基础算法之快速排序

    时间:2022-08-26 11:19:41

    最近在看博客的时候,看到一篇讲快速排序的,联想到自己什么排序都不懂,就想着弄懂这个快速排序。由于脑子不太灵光,所以花了好久才弄个大概。在这里记录下学习成果。 快速排序 我的理解就是取数组中的随便一个值,然后将比他大的都放在后面,比他小的都放在前面。然后在对前面和后面的数据进行同样的操作 1.假如有个...

  • 基础算法之快速排序

    时间:2022-08-26 11:24:53

    分治思想进行排序,目前在实践中使用最频繁效率最好的排序算法。 快速排序是一个不稳定的算法,主要是因为在进行最后一步划界元素与S[i+1]交换的时候有可能打破前面元素的稳定性。 图书馆老师在整理图书顺序的时候,会将一本书放中间,比这本书序列号大的放右边,小的放左边,这就是使用的快排哦~ C++代码如下...

  • C++基础算法基于哈希表的索引堆变形

    时间:2022-04-11 12:22:32

    这篇文章主要为大家介绍了C++基础算法,基于哈希表的索引堆变形示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步

  • C基础算法之二分法查找

    时间:2022-03-04 00:00:35

    算法:当数据量很大适宜采用该方法。采用二分法查找时,数据需是排好序的。基本思想:假设数据是按升序排序的,对于给定值x,从序列的中间位置开始比较,如果当前位置值等于x,则查找成功;若x小于当前位置值,则在数列的前半段中查找;若x大于当前位置值则在数列的后半段中继续查找,直到找到为止。二分法查找在针对大...

  • FCC JS基础算法题(1):Factorialize a Number(计算一个整数的阶乘)

    时间:2022-02-08 12:17:36

    题目描述:如果用字母n来代表一个整数,阶乘代表着所有小于或等于n的整数的乘积。阶乘通常简写成n!例如:5!=1*2*3*4*5=120。算法:functionfactorialize(num){//请把你的代码写在这里varresult=1;for(vari=2;i<=num;i++){res...

  • FCC JS基础算法题(10):Falsy Bouncer(过滤数组假值)

    时间:2022-01-30 12:53:15

    题目描述:删除数组中的所有假值。在JavaScript中,假值有false、null、0、""、undefined和NaN。使用filter方法,过滤掉生成的 Boolean 对象的值为 false的值。(如果第一个参数不是布尔值,则会将其转换为布尔值。如果省略该参数,或者其值为 0、-0、null...

  • FCC JS基础算法题(11):Seek and Destroy (摧毁数组)

    时间:2022-01-30 12:53:03

    题目描述:实现一个摧毁(destroyer)函数,第一个参数是待摧毁的数组,其余的参数是待摧毁的值。我们可以使用arguments来进行参数的遍历。functiondestroyer(arr){ vararr_arg=arguments; for(vari=1;i<arr_arg.length...

  • FCC JS基础算法题(0):Reverse a String(翻转字符串)

    时间:2022-01-30 12:53:27

    题目描述:先把字符串转化成数组,再借助数组的reverse方法翻转数组顺序,最后把数组转化成字符串。你的结果必须得是一个字符串。算法:functionreverseString(str){//请把你的代码写在这里str=str.split("").reverse().join("");returns...

  • FCC JS基础算法题(3):Find the Longest Word in a String (找出最长单词)

    时间:2022-01-30 12:53:09

    题目描述:在句子中找出最长的单词,并返回它的长度。函数的返回值应该是一个数字。基本思路,将字符串转换成数组,然后得出数组中单个元素的长度,对长度进行排序,返回最大的一个代码:functionfindLongestWord(str){//请把你的代码写在这里vararr=[];str=str.spli...