Skip to content

Latest commit

 

History

History
56 lines (52 loc) · 2.23 KB

一天100道高频算法系列.md

File metadata and controls

56 lines (52 loc) · 2.23 KB

一天让你了解100道高频面试算法

简单模块

1 请编写一个函数,使其可以删除某个链表中给定的(非末尾)节点,你将只被给定要求被删除的节点。

考点:链表 easy

后边节点值赋给当前值,p.next = p.next.next;

2 给定一个二叉树,找出其最大深度。

考点:递归 二叉树 easy

递归算高度,左右选大,遇空回0

3,编写一个函数,其作用是将输入的字符串反转过来。O(1)

'考点:字符串' easy

一前一后一起走,一走一交换,相见便停止

4,将一个按照升序排列的有序数组,转换为一棵高度平衡二叉搜索树。

考点:二分法 二叉树 easy

要平衡,二分现,while变成递归来

5,给定一个Excel表格中的列名称,返回其相应的列序号

    A -> 1
    B -> 2
    C -> 3
    ...
    Z -> 26
    AA -> 27
    AB -> 28 
    ...

考点: 进制转换 栈

进制来,我不怕,反转,基数!想想它

6,反转链表

easy

反转链表我不怕,递归,用栈对付它

7,杨辉三角

easy 考点:动态规划

分情况 ,首中尾,中部规律,其他为1

8,只出现一次的数字

异或大法好,相同为0,不同为1

9,写一个程序,输出从 1 到 n 数字的字符串表示。

     1. 如果 n 是3的倍数,输出“Fizz”;
     
     2. 如果 n 是5的倍数,输出“Buzz”;
     
     3.如果 n 同时是3和5的倍数,输出 “FizzBuzz”。

分类讨论即可。
优化一:能除一个数,则加相应的字符串:15 能被3除 加入 能被5除加入,分类处理
优化二:使用linkedHashMap做映射关系

10,给定一个大小为 n 的数组,找到其中的众数。众数是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素。你可以假设数组是非空的,并且给定的数组总是存在众数

leetcode169

相同加一,不同减一。谁留谁是众
方法扩展:分治、暴力、hashMap存储

11,编写一个函数,输入是一个无符号整数,返回其二进制表达式中数字位数为 ‘1’ 的个数(也被称为汉明重量)。

n & n-1

12,