算法
我辣翻天的火鸡面
这个作者很懒,什么都没留下…
展开
-
剑指 Offer 06. 从尾到头打印链表
输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。示例 1:输入:head = [1,3,2]输出:[2,3,1]限制:0 <= 链表长度 <= 10000来源:力扣(LeetCode)方法一:递归python:# Definition for singly-linked list.# class ListNode:# def __init__(self, x):# self.val = x# ...原创 2021-04-06 21:37:10 · 102 阅读 · 0 评论 -
剑指 Offer 05. 替换空格
请实现一个函数,把字符串s中的每个空格替换成"%20"。示例 1:输入:s = "We are happy."输出:"We%20are%20happy."限制:0 <= s 的长度 <= 10000来源:力扣(LeetCode)方法一:python、java中replace函数方法二:新建一个字符串,遍历原字符串找出空格后拼接“%20”到新字符串上python:class Solution: def replaceSpace(self, ...原创 2021-04-05 20:18:20 · 76 阅读 · 0 评论 -
剑指 Offer 04. 二维数组中的查找
题目描述:在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个高效的函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。来源:力扣(LeetCode)示例:现有矩阵 matrix 如下:[ [1, 4, 7, 11, 15], [2, 5, 8, 12, 19], [3, 6, 9, 16, 22], [10, 13, 14, 17, 24], [18, 21, 23, 26原创 2021-04-04 22:12:29 · 118 阅读 · 1 评论 -
剑指 Offer 03. 数组中重复的数字
找出数组中重复的数字。在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。来源:力扣(LeetCode)如:输入:[2, 3, 1, 0, 2, 5, 3]输出:2 或 3 方法一:列表、数组标记python:class Solution: def findRepeatNumber(self, nums: List[int]) -&原创 2021-04-03 22:08:52 · 64 阅读 · 0 评论 -
算法学习——位运算的一些技巧
位运算符与(&)|(或)、 ^(异或)、~ (非/取反)>>和<<运算符将二进制位进行右移或者左移操作>>>运算符将用0填充高位; >>运算符用符号位填充高位,没有<<<运算符对于int型,1<<35与1<<3是相同的,而左边的操作数是long型时需对右侧原创 2019-01-01 17:16:43 · 401 阅读 · 0 评论 -
算法学习——位运算的一些技巧(续)
关于位运算的一些练习题1、一个数组里除了某一个数字之外,其他的数字都出现了两次。请写程序找出这个只出现一次的数字。public class onlyNum { public static void main(String[] args) { int N = 11; int[] arr = new int[N]; for (int i = 1; i < arr.leng...原创 2019-01-03 13:42:48 · 93 阅读 · 0 评论