经典算法
文章平均质量分 72
RockWu.js
这个作者很懒,什么都没留下…
展开
-
反转链表的两种方法
链表反转Leetcode 206递归分析:递归调用一定会调用reverse(head.next),否则无法遍历所有节点。如果一个链表本来是1->2->3->4->5,在该语句执行完成以后,得到的应该是5->4->3->2<-1,要想得到正确答案,则2应该指向1,1指向空指针,根据以上分析,有:# Definition for singly-linked list.# class ListNode:# def __init__(self, v原创 2021-06-29 20:40:59 · 143 阅读 · 0 评论 -
算法题中常用到的位运算
本文是在看了很多leetcode大神的题解之后整理的一个笔记,分享出来供大家参考。其中很多图来自这些大佬的原创,如果有冒犯到作者,请作者联系我。&运算可以用来求模如a&1 <=> a%2巧用n&(n-1)运算**(n-1)解析:**二进制数字最右边的1变成0,此1右边的0都变成1**n&(n-1)解析:**二进制数字n最右边的1变成0,其余不变剑指offer 15. 二进制1的个数class Solution: def hamming原创 2021-06-29 20:25:29 · 512 阅读 · 0 评论 -
一文教你学会Binary Search
一文教你学会Binary Search本文参考自https://leetcode-cn.com/problems/search-in-rotated-sorted-array/solution/yi-wen-dai-ni-shua-bian-er-fen-cha-zhao-dtadq/二分查找在计算机科学中,二分搜索(binary search),也称折半搜索(half-interval search)、对数搜索(logarithmic search),是一种在有序数组中查找某一特定元素的搜索算法。原创 2021-06-29 20:06:32 · 356 阅读 · 0 评论