- 博客(18)
- 收藏
- 关注
原创 怎么在JavaScript 中将二维数组初始化
本文介绍了JavaScript中初始化二维数组的常用方法:1)固定值可直接使用嵌套数组字面量;2)动态初始化推荐使用Array.from()或for循环,确保每行独立;3)要避免直接使用fill()导致的引用共享问题,可通过结合map解决。文章还对比了正确和错误的写法示例,帮助开发者正确创建二维数组。
2025-12-24 17:59:03
283
原创 编程中的“非递减顺序”是什么意思?
非递减顺序是指序列中每个元素都大于或等于前一个元素(后≥前),允许重复值。例如[1,2,2,3]和[5,5,5]均符合要求。与严格递增(后>前,如[1,2,3])不同,非递减允许相等元素。空数组或单元素数组默认满足非递减。核心区别在于是否允许“平缓”上升(非递减允许,严格递增不允许)。
2025-12-23 01:26:27
377
原创 右移一位是什么操作?
摘要:右移一位(>>1)是高效的位运算操作,将整数的二进制表示右移1位,等价于除以2并向下取整。例如,6(110)右移后为3(11),5(101)右移后为2(10)。相比除法,右移运算速度更快,常用于性能优化场景如二分查找。注意该规则仅适用于正整数,负数的右移行为不同。右移n位等价于除以2^n,左移n位等价于乘以2^n。
2025-12-20 18:02:30
365
原创 【总结】Javascript里set怎么使用?
摘要:const visited = new Set() 是 JavaScript 中创建空集合的代码,主要用于记录已访问元素。Set 具有元素唯一性(自动去重)和高效查找(O(1))的特点,常用于遍历、去重和图/树算法场景。典型应用包括数组去重、DFS遍历和路径搜索。使用时需注意引用类型判断(需使用唯一标识)和const声明特性(集合可变但变量不可重赋值)。配套操作包括add、has、delete等方法,可通过for...of或forEach遍历集合元素。
2025-12-10 17:09:55
357
原创 【LeetCode 203】移除链表元素
我们可以尝试从头遍历整个链表,如果遍历到某个节点指向的节点的值为val,那么就让这个节点指向下下个节点即可。当然由于第一个节点也可能是目标节点,所以我们在head前面引入一个虚拟节点即可。
2025-12-03 16:01:27
135
原创 【LeetCode 283】移动零
摘要:本文介绍了一种使用双指针法原地移动数组中零元素的高效解法。通过维护慢指针标记非零元素的目标位置,快指针遍历数组寻找非零元素并进行交换,最终将零元素全部移动到数组末尾,同时保持非零元素的原始顺序。文章提供了JavaScript实现代码,并通过示例详细演示了每一步的操作过程,展示了该算法如何在不复制数组的情况下完成原地修改。时间复杂度为O(n),空间复杂度为O(1)。
2025-12-02 18:56:11
261
原创 编写一个函数,生成区间内的n个不重复的随机数字。
这道题其实就是先确认输入参数有没问题(比如不能要[1,5]里6个不重复数,根本不够),再循环生成随机数,用“自动去重的容器”装,装够n个就停止,最后返回结果。在🐮客上看到的一道有道前端题目,觉得挺有意思哈哈哈,我是用JavaScript写的。
2025-12-01 15:31:52
286
原创 7.字符串反转
题目要求将输入字符串中的每个单词进行反转后输出。输入首行为测试用例数N,随后N行每行一个字符串。输出为N行,每行为对应字符串单词反转后的结果。例如输入"olleh!dlrow"输出"hello world!"。通过字符串处理实现单词分割和反转功能。
2025-10-02 23:07:34
124
1
原创 【前端学习-Day01-02】HTML入门及标签的使用
HTML是HyperText Markup Language(超文本标记语言)的缩写,它是用于创建和描述网页的标准标记语言。简单来说,HTML就像网页的“骨架”,通过一系列标签来定义网页的结构和内容,比如标题、段落、图片、链接、表格等元素。这些标签告诉浏览器如何解析和显示页面内容。需要注意的是,HTML本身不是编程语言,它只是一种标记语言,用于结构化内容,通常会与CSS(用于样式设计)和JavaScript(用于交互功能)配合使用,共同构建出丰富的网页。
2025-10-02 22:38:24
1030
原创 怎么判断一个数是不是质数?
本文介绍了一个高效的质数判断函数isPrime。该函数首先处理特殊情况:n≤1不是质数,2和3是质数。然后排除能被2或3整除的数,最后检查6k±1形式的因子(k为正整数),只需循环到√n即可。其数学依据是:大于3的质数都可表示为6k±1的形式,其他形式的数都能被2或3整除。这种方法通过减少判断次数显著提高了效率,时间复杂度为O(√n)。若未找到能整除的因子,则判定为质数。
2025-09-15 16:44:55
133
原创 6.移动
该C++代码实现了一个简单的网格移动程序。程序首先读取网格大小n和操作次数k,然后处理k条移动指令。每条指令包含初始坐标(x,y)和移动字符串s,其中字符f/b/l/r分别表示向前/后/左/右移动。程序确保移动不会超出网格边界(1到n),最后输出移动后的坐标。
2025-07-22 10:29:38
237
原创 5.正态分布
该C++代码实现了CSP认证第38次的第一题。程序读取k组数据,每组包含μ、σ和n三个参数。对于每组数据,计算d=(n-μ)*100/σ,然后输出d的十位数加1和个位数加1的结果。主要逻辑在solve函数中实现,它先将输入数字d分解为十位和个位,分别加1后输出。主函数负责读取输入数据并调用solve函数处理每组的计算结果。代码结构清晰,功能明确,适用于处理多组数值计算问题。
2025-07-20 19:07:11
454
1
原创 4.众数
摘要:本文讨论如何找出升序排列数组中的众数(出现次数最多的数字)。由于数组已排序,相同数字连续出现,因此可以通过一次遍历统计各数字的连续出现次数。使用三个变量:current_mode记录当前众数,max_count记录当前众数的出现次数,current_count统计当前数字的连续次数。遍历时遇到新数字则比较更新众数信息,最后还需检查最后一组数字。该方法时间复杂度为O(n),适用于最多10000个元素的数组。示例代码用C++实现,处理多组测试数据,当N=0时结束输入。
2025-06-23 11:12:12
175
原创 3. 小丽找潜在的素数
小丽同学在编程中学到了二进制数的概念,她发现,有些二进制数,如果转为 1010 进制,就是素数,小丽把这些数称为潜在的素数;比如 22 进制 11010111101011,转为 1010 进制后为 107107 ,就是素数。这个题目其实很不错,很适合考查基础,综合考查了几个点,你如经典的判断素数,进制转换,也有字符串,控制结构。请编程帮小丽找出,哪些二进制数转为 1010 进制后,是素数,计算出这样的数有多少个?一个整数代表所有转为 1010 进制后是素数的 22 进制数的个数。
2025-01-10 15:37:22
547
原创 2.答谢会名单
【问题描述】某银行年终举行答谢会,现读入若干客户信息,以"end"作为结束。请按客户余额从大到小给出邀请名单,客户余额相同时按开户日期先后排序,开户日期相同则按照客户姓名进行升序排列。客户人数大于等于1,小于等于100,客户余额可能包含小数,50%的测试用例数据没有重复,且保证每个测试中的客户姓名互不相同客户名中不包含空格符。【输入形式】输入包括若干行,每行包括客户名、客户余额和开户日期(年月日),以空格作为分隔,最后一行为"end"【输出形式】输出包括若干行,每行只包含客户名称.
2024-12-30 13:53:59
423
原创 1.从字符串中移除星号
【样例说明1】 距离第 1 个星号最近的字符是 "leet**cod*e" 中的 't' ,s 变为 "lee*cod*e"。-距离第 2 个星号最近的字符是 "lee*cod*e" 中的 'e' ,s 变为 "lecod*e"。-距离第 3 个星号最近的字符是 "lecod*e" 中的 'd' ,s 变为 "lecoe"。【输入形式】 输入包含一行,表示字符串s,s满足以下条件: 1 <= s.length <= 105 s 由小写英文字母和星号 * 组成 s 可以执行上述操作。
2024-12-30 13:49:38
401
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅