算法

147 阅读6分钟

1.快排和二分查找

2.算法复杂度分析

3.1对应a,2对应b。。。z对应35,问一串数字12322会有几种情况?

4.括号组合leetcode.cn/problems/br…

5.求二叉树是否存在和值为N的路径。从二叉树的根,到叶子节点称为一条路径,路径上的每个节点的value之和为路径和值,本题要求所有的路径中是否存在一条和值为N的?

6.最长连续序列,给点数组,求最长的连续数字长度,不要求顺序,如[400,4,100,1,3,2]最长一串为1 2 3 4,所以答案为4

leetcode.cn/problems/lo…

8.求二叉树最近公共祖先,要求空间复杂度为O(1)

9.给定无重复数组、数量n、总和sum,计算出数组中是否存在n个数累加等于sum的集合,并求出时间和空间复杂度(算法优化)

10.求一个二叉树的前序遍历?递归和非递归

11.已知如下数组,编写一个程序将数组扁平化去并除其中重复部分数据,最终得 到一个升序且不重复的数组,var arr = [ [1, 2, 2], [3, 4, 5, 5], [6, 7, 8, 9, [11, 12, [12, 13, [14] ] ] ], 10]

使用Set方法去重,flat(Infinity)扁平化
Array.from(new Set(arr.flat(Infinity))).sort((a,b)=>{ return a-b})

12.把两个数组 ['A1', 'A2', 'B1', 'B2', 'C1', 'C2', 'D1', 'D2'] 和 ['A', 'B', 'C', 'D'],合并 为 ['A1', 'A2', 'A', 'B1', 'B2', 'B', 'C1', 'C2', 'C', 'D1', 'D2', 'D']

13.随机生成一个长度为 10 的整数类型的数组,例如 [2, 10, 3, 4, 5, 11, 10, 11, 20],将其排列成一个新数组,要求新数组形式如下,例如 [[2, 3, 4, 5], [10, 11], [20]]

14.给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数。

示例 1:
输入:[1,2,3,4,5,6,7] 和 k=3 输出:[5,6,7,1,2,3,4] 解释: 向右旋转 1 步: [7,1,2,3,4,5,6] 向右旋转 2 步:[6,7,1,2,3,4,5] 向右旋转 3 步:[5,6,7,1,2, 3, 4]

示例 2:
输入:[-1,-100,3,99] 和 k=2 输出:[3,99,-1,-100] 解释: 向右旋转 1 步:[99, -1, -100, 3] 向右旋转 2 步: [3, 99, -1, -100]

15.打印出 1 - 10000 之间的所有对称数

16.给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非 零元素的相对顺序

17.给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。 你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用

18.定两个大小为 m 和 n 的有序数组 nums1 和nums2。请找出这两个有序数组的中位数。要求算法的时间复杂度为 O(log(m+n))

19.用JavaScript 写一个函数,输入 int 型,返回整数逆序后的字符串。如:输入 整型 1234,返回字符串“4321”。要求必须使用递归函数调用,不能用全局变量, 输入函数必须只有一个参数传入,必须返回字符串

20.最大重复字符

21.跳跃游戏

22.有效括号

23.给你一个由‘1’(陆地)和‘0’(水)组成的二维网络,请你计算网络中岛屿的数量

blog.csdn.net/weixin_4422…

24.一个已排序的数组,会发生翻转,给定一个target,查找是否存在数组内,如果不存在则返回null

25.给你一个链表,每k个字节一组进行翻转,请你返回翻转后的链表

26.链表有环

27.查找由01组成的字符串内所有子串的数量

28.说一说快速排序的过程

29.希尔排序,堆排,快排

30.5点15分,时钟和分钟的夹角多少?

31.实现日期格式化函数

32.交换a,b的值,不能用临时变量

33.实现数组的乱序输出

34.多层的数组元素求和,arr=[1,2,3,[[4,5],6],7,8,9]

35.数组扁平化

36.实现数组去重

37.实现数组的flat方法

38.实现数组的push方法

39.实现数组的filter方法

40.实现数组的map方法

41.实现字符串的repeat方法

42.实现字符串翻转

43.将数字每千分位用逗号隔开

44.实现非负大整数相加

45.字符串出现的不重复最⻓⻓度

46.实现斐波那契数列

47.查找有序二维数组的目标值

48.二维数组斜向打印

49.移动0

leetcode-cn.com/problems/mo…

50.回文数

leetcode-cn.com/problems/pa…

51.求众数

leetcode-cn.com/problems/ma…

52.加一

leetcode-cn.com/problems/pl…

53.有效的括号

leetcode-cn.com/problems/va…

54.最长公共前缀

leetcode-cn.com/problems/lo…

55.平铺数组[1, [2, 3, 4], [5, [6]], ...] => [1, 2, 3, 4, 5, 6]

56.数组旋转

leetcode-cn.com/problems/ro…

57.转换成小写字母

leetcode-cn.com/problems/to…

58.三数之和

leetcode-cn.com/problems/3s…

59.跳跃游戏

leetcode-cn.com/problems/ju…

60.某二叉树后序遍历为DAFCBE,中序遍历为DEBACF,画出树,且说出前序顺序

61.快排的核心思想

62.如何找出数组中重复最多的元素,并给出数量

63.链表翻转

64.无序链表排序

65.冒泡排序、插入排序、选择排序、归并排序、

66.给定一组物品,每种物品都有自己的重量和价格,在限定的总重量内,我们如何选择,才能使得物品的总价格最高。每个问题只能放入至多一次

67.数组[1,2,3,3...]长度N,全部为自然数,所有数组都是成对出现,只有一个数字出现一次,找出只出现的那个数字X

68.判断字符串为回文字符串

69.统计字符串中次数最多的字母

70.写算法:a_b_ccc_D_EEE_f ==> aBCccdeEEF 移除下划线

71.第一个单词不变后面所有单词首字母大小写翻转

72.查找两个链表中的相同值

73.求二叉树最深路径

74.顺时针打印矩阵

75.给定一个url(如www.baidu.com?a=1&b=2&c=3),将url中的get各种参数按照key-value形式返回({a: 1, b: 2, c: 3})(正则)

76.js数组去重(用尽可能多的方式)

77.如何求两个数的最大公约数

78.如何查找一篇英文文章中出现频率最高的单词