`
luoping0425
  • 浏览: 109056 次
  • 性别: Icon_minigender_2
  • 来自: 赣州
文章分类
社区版块
存档分类
最新评论

算法,求数组中给定值的位置

阅读更多
    今天已经六号了,国庆就要结束了。马上要好好找工作了,好好努力,面试、工作。加油,希望能早日工作。
10.6 

1.查找数组中某个值的位置
用ruby实现
def find(arr, k)
  len = arr.length
  i = 0
  while arr[i] != k && i<len
    i = i+1
  end
  
  return i
end

arr = [8, 7, 1, 2, 3, 4, 5, 6]
puts find(arr, 4)   #5


2. 递归算法:求n!
n! = n(n-1)(n-2)...2*1=n(n-1)! n>1
n = 1 n=0,1
用ruby实现
def fact(n)
  if n==0 || n == 1
    return 1
  else
    return n*fact(n-1)
  end
end

puts fact(0) # 1

puts fact(8) # 40320
0
0
分享到:
评论

相关推荐

    用递归算法编写求一个数组A中的最大元素

    ### 递归算法在求解数组最大值中的应用 #### 一、递归算法简介 递归算法是一种通过调用自身来解决问题的方法。它通常包括两个部分:基本情况(base case)与递归情况(recursive case)。对于求解数组中的最大值...

    如何求最大值以及所在数组里的位置

    本算法的目标是在给定的整型数组中找到最大的数值,并确定其在数组中的确切位置。通过这个简单的示例,我们可以进一步理解和应用类似的算法思路来解决更复杂的问题,比如查找数组中的最小值等。 #### 代码分析 ...

    利用折半查找整数m在数组中的位置。

    折半查找的基本算法是:每次查找前先确定数组中待查的范围:low和high(low),然后把m于中间位置(mid)中元素的值进行比较。如果m的值大于中间位置元素中的值,则下一次的查找范围落在中间位置之后的元素中;反之,下一...

    在数组中快速查找近似值

    对于重复值,可以采用保持近似值索引的方式,记录最接近值的前一个和后一个位置,以避免在数组中重复查找。对于性能优化,可以考虑使用更高效的数据结构,如平衡二叉搜索树,或者利用缓存机制减少不必要的计算。 在...

    LeetCode初级算法-数组(手写)

    在本文中,我们将探讨LeetCode平台上初级算法题库中的数组问题。数组作为一种基础数据结构,在编程中被广泛使用,而掌握数组相关的算法问题对于成为一名优秀的软件工程师至关重要。以下是LeetCode中与数组相关的几个...

    数组倒置经典算法

    在IT领域,数组倒置是一种常见的操作,广泛应用于数据处理、算法优化以及编程竞赛中。本文将深入探讨“数组倒置经典算法”,旨在为初学者和专业人士提供一个全面的视角,理解并掌握这一核心概念。 ### 核心知识点:...

    算法-数组逆序重存放(信息学奥赛一本通-T1105).rar

    这个问题的核心是要求参赛者实现一个算法,能够将给定的数组按照逆序的方式重新排列。在本案例中,我们可能在"数组逆序重存放(信息学奥赛一本通-T1105).pdf"文件中找到详细的解题思路、示例和可能的解决方案。 ...

    用matlab如何求出一个数组中最接近某个数的五个数

    在MATLAB中,寻找一个数组中最接近特定数值的五个数是一项常见的操作,特别是在数据分析和算法设计中。这个任务可以通过排序和索引技巧来实现。以下是一个详细的步骤解释: 首先,我们需要一个包含多个数值的数组,...

    求一个含有8个整数的数组中前3个最大值对应的下标

    选择排序是一种简单直观的排序算法,它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。在这个问题中,我们不需要完全排序,只需要找出...

    二叉树的数组存储结构

    这种方法的核心思想是将二叉树的节点存储在数组中,每个节点的索引值对应着它在数组中的位置。这样可以方便地访问和操作二叉树的节点。 二、数组存储结构的实现 在C++中,我们可以使用模板类来实现二叉树的数组...

    用二C语言求二维数组鞍点

    二维数组在计算机科学中是表示多维数据结构的重要方式,特别是在C语言中,它被广泛用于处理矩阵和其他表格型数据。鞍点(Saddle Point)是指在一个矩阵中,某一个元素在同一行上比所有其他元素都大,而在同一列上比...

    有两个数组a,b,大小都为n,数组元素的值任意,无序

    根据给定的信息,本文将详细解释如何通过交换两个数组中的元素来使得这两个数组的元素之和之间的差最小的问题。此问题的关键在于理解如何通过合理的交换操作来调整数组元素分布,从而达到目标。以下是对该问题的详细...

    计算整形数组中第k小的数

    在IT行业的算法领域,计算整形数组中第k小的数是一个经典的编程问题,它涉及到排序、查找等基础知识,是衡量一个程序员基本功的重要指标之一。本文将深入解析这一知识点,包括其背后的算法原理、实现方法以及优化...

    常见数组面试题

    **题目描述:** 在已知最大值的基础上,求出数组中的次大值。 **解析:** 可以通过两次递归调用来求得数组的最大值和次大值。第一次递归找到最大值,第二次递归时排除最大值,找到剩余元素中的最大值,即为次大值。...

    JavaScript使用二分查找算法在数组中查找数据的方法

    5. 如果中间位置的元素大于目标值,则目标值必然存在于中间位置的左侧子数组中。此时将查找区间调整为 [low, mid - 1],并重复步骤3和4。 6. 如果中间位置的元素小于目标值,则目标值必然存在于中间位置的右侧子数组...

    Python算法题源代码-LeetCode(力扣)-在排序数组中查找元素的第一个和最后一个位置

    请你找出给定目标值在数组中的开始位置和结束位置。 如果数组中不存在目标值 target,返回 [-1, -1]。 你必须设计并实现时间复杂度为 O(log n) 的算法解决此问题。 示例 1: 输入:nums = [5,7,7,8,8,10], target =...

    数组排序算法

    数组排序是计算机科学中基础且重要的概念,尤其是在数据处理和算法设计中不可或缺。数组是一种线性数据结构,其中元素按照特定顺序存储。排序数组是指将数组中的元素按特定规则(通常为升序或降序)重新排列的过程。...

    数组求和,素数,排序算法

    在给定的代码中,我们涉及了几个关键的编程知识点,包括数组操作、函数定义、条件判断、循环以及几种特定的算法。以下是这些知识点的详细解释: 1. **数组操作**: - 数组`a[9]`是用于存储整数的变量集合,其大小...

    python 实现在排序数组中查找元素的第一个和最后一个位置

    找出给定目标值在数组中的开始位置和结束位置 # 你的算法时间复杂度必须是 O(log n) 级别 # 如果数组中不存在目标值,返回 [-1, -1] # 示例 1: # 输入: nums = [5,7,7,8,8,10], target = 8 # 输出: [3,4] # 示例 2...

    c++数组求平均数函数

    根据给定的文件信息,我们可以总结出几个与C++中数组求平均数相关的知识点: ### 知识点一:理解数组及其操作 **数组定义**: - 数组是一种线性数据结构,它允许存储相同类型的数据元素。 - 在C++中,数组可以通过...

Global site tag (gtag.js) - Google Analytics