11(154) 旋转数组的最小数字把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。给你一个可能存在 重复 元素值的数组 numbers ,它原来是一个升序排列的数组,并按上述情形进行了一次旋转。请返回旋转数组的最小元素。例如,数组 [3...
阅读全文...
【LeetCode】剑指Offer——贪心思想
14 - I(343) 剪绳子给你一根长度为 $n$ 的绳子,请把绳子剪成整数长度的 $m$ 段(m、n都是整数,n>1并且m>1),每段绳子的长度记为 $k[0],k[1]...k[m-1]$ 。请问 $k[0]*k[1]*...*k[m-...
阅读全文...
阅读全文...
【LeetCode】剑指Offer——树
7(105)重建二叉树示例 1:给定两个整数数组 $preorder$ 和 $inorder$ ,其中 $preorder$ 是二叉树的先序遍历, $inorder$ 是同一棵树的中序遍历,请构造二叉树并返回其根节点。输入: preorder = [3,...
阅读全文...
阅读全文...
【LeetCode】剑指Offer——链表
6 从尾到头打印链表输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。示例 1:输入:head = [1,3,2]
输出:[2,3,1]限制:0 <= 链表长度 <= 10000题解/*递归*/
/**
* Definit...
阅读全文...
阅读全文...
【LeetCode】 剑指Offer——双指针
57 和为 S 的两个数字输入一个递增排序的数组和一个数字s,在数组中查找两个数,使得它们的和正好是s。如果有多对数字的和等于s,则输出任意一对即可。示例 1:输入:nums = [2,7,11,15], target = 9
输出:[2,7] 或者 [...
阅读全文...
阅读全文...
【LeetCode】剑指Offer——栈队列堆
9 用两个栈实现队列用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 $appendTail$ 和 $deleteHead$ ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,$deleteHead$ 操作返回 -1 )...
阅读全文...
阅读全文...
【LeetCode】剑指Offer——数组与矩阵
3(287) 数组中重复的数字给定一个包含 $n + 1$ 个整数的数组 $nums$ ,其数字都在 $[1, n]$ 范围内(包括 $1$ 和 $n$),可知至少存在一个重复的整数。假设 $nums$ 只有 一个重复的整数 ,返回 这个重复的数 。你设...
阅读全文...
阅读全文...