• 作业 --- 数组


    作业一:判断数组是否为有序数组

            要求:写一个方法(函数),参数为一个整数数组,判定数组是否有序数组,如果是返回true,不是返回false

    1. <script>
    2. //判断数组是否为有序数组
    3. function isNot (arr){
    4. //如果数组的后一位比前一位大1 或者小1 则为有序数组
    5. for (var i = 0 ; i < arr.length ;i++){
    6. if (arr[i] - arr[i+1] === 1 || arr[i]-arr[i+1] === -1){
    7. return true ;
    8. }
    9. }
    10. return false ;
    11. }
    12. console.log(isNot([1,2,3,4,5]));
    13. script>

    作业二:求两数之和 

    1. <script>
    2. //求两数之和 给一个整数数组 和一个整数目标值
    3. //在该数组中找出 和为目标值的两个数 并返回他们的下标
    4. function count(arr, target) {
    5. //创建数组
    6. var arrNew = [];
    7. //遍历数组
    8. for (var i = 0; i < arr.length; i++) {
    9. for (var j = i + 1; j < arr.length; j++) {
    10. if (arr[i] + arr[j] === target) {
    11. arrNew.push([i, j]);
    12. }
    13. }
    14. }
    15. return arrNew;
    16. }
    17. console.log(count([1, 2, 4, 5, 7, 0], 9));
    18. script>

    作业四:求数组中的最大数

    1. <script>
    2. //找出数组中的最大值 以数组为参数
    3. function Max(arr){
    4. //返回的是删减过的值
    5. return arr.reduce(function(a,b){
    6. //1.a是数组第一个元素 b是数组的第二个元素 2.a是上一轮返回的值,b是n次+1的元素
    7. if (a>b){
    8. return a ;
    9. }
    10. return b ;
    11. })
    12. }
    13. console.log(Max([1,22,54,12,31])); // ---> 54
    14. script>

    作业五:杨辉三角

     规律:
    1. 二维数组   n 行 有n 个元素 
    2. 第一位和最后一位元素都为1 
    3. 中间的元素 arr[i][j] = arr[ i-1 ]arr[ j ]  + arr[ i -1 ] + arr [ j ]  (上一行的当前下标值 + 上一行的当前下标值的前一位的和) 

    1. html>
    2. <html lang="en">
    3. <head>
    4. <meta charset="UTF-8">
    5. <meta http-equiv="X-UA-Compatible" content="IE=edge">
    6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
    7. <title>Documenttitle>
    8. <style>
    9. .box {
    10. display: flex;
    11. justify-content: center;
    12. text-align: center;
    13. }
    14. .box div {
    15. width: 30px;
    16. border: 1px solid gray;
    17. }
    18. style>
    19. head>
    20. <body>
    21. <script>
    22. //杨辉三角 输入行数 输出多少行数
    23. function printYhui(line) {
    24. //创建二维数组的第一层数组 控制行数
    25. var arr = [];
    26. for (var i = 0; i < line; i++) { //行数
    27. //创建一行就在其中创建一个新的数组
    28. document.write("
      "); //每一行的盒子 开始
    29. arr[i] = [];
    30. //遍历二维数组的第二层数组 并给其中的元素赋值 ---> 行内的个数 =行值
    31. for (var j = 0; j <= i; j++) {
    32. var num = 0;
    33. // 每一行的第一个元素和最后一个元素 值都为1
    34. if (j === 0 || j === i) {
    35. num = 1;
    36. }
    37. //中间的元素 = 上一行当前位置的元素 + 上一行当前位置元素的前一个元素
    38. else {
    39. num = (arr[i - 1][j] + arr[i - 1][j - 1]);
    40. }
    41. arr[i].push(num);
    42. //创建一个盒子包含每一个元素
    43. document.write("
      " + num + "
      "
      );
    44. }
    45. document.write("
      "); //每一行的盒子 结束
  • }
  • }
  • console.log(printYhui(5));
  • script>
  • body>
  • html>
  • 相关阅读:
    Spire.PDF for .NET【文档操作】演示:将新的 PDF 页面插入到指定索引处的现有 PDF 中
    方法的使用
    【解包裹】基于GPSA和AIA实现相位提取附matlab代码
    C语言03、数组
    QT c++ QWaitCondition 线程等待条件
    specCPU 2006 备忘
    前端模块化开发技术的发展趋势
    接口测试异常场景耗时耗力?一文帮你解决
    【GUI】Python图形界面(三)
    C++概念:trl和clr概念的理解
  • 原文地址:https://blog.csdn.net/m0_60979337/article/details/128149340