ICode9

精准搜索请尝试: 精确搜索
  • DHCP抓包详细过程及wireshark分析2022-08-01 20:35:14

    DHCP,Dynamic Host Configuration Protocol,动态主机配置协议,简单来说就是主机获取IP地址的过程,属于应用层协议。DHCP采用UDP的68(客户端)和67(服务器)端口进行通信。 【过程】DHCP过程主要为DHCP Discover-->DHCP Offer-->DHCP Request-->DHCP Ack四个过程。通过Wireshark抓取DHCP获取I

  • 【剑指Offer】JZ49 丑数2022-08-01 17:34:41

    JZ49 丑数 描述  把只包含质因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含质因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第 n个丑数。 # @param index int整型 # @return int整型 # class Solution: def GetUglyNumber_Soluti

  • 剑指 Offer 68 - I. 二叉搜索树的最近公共祖先2022-07-30 19:02:00

    剑指 Offer 68 - I. 二叉搜索树的最近公共祖先 给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先

  • 剑指 Offer 63. 股票的最大利润2022-07-29 18:34:32

    剑指 Offer 63. 股票的最大利润 假设把某股票的价格按照时间先后顺序存储在数组中,请问买卖该股票一次可能获得的最大利润是多少?   示例 1: 输入: [7,1,5,3,6,4] 输出: 5 解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5 。 注意利

  • 剑指 Offer 64. 求1+2+…+n2022-07-29 18:33:44

    剑指 Offer 64. 求1+2+…+n 求 1+2+...+n ,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。   示例 1: 输入: n = 3 输出: 6 示例 2: 输入: n = 9 输出: 45   限制: 1 <= n <= 10000   解析: dfs即可 class Solution { public:

  • 剑指 Offer 59 - II. 队列的最大值2022-07-27 19:02:19

    剑指 Offer 59 - II. 队列的最大值 请定义一个队列并实现函数 max_value 得到队列里的最大值,要求函数max_value、push_back 和 pop_front 的均摊时间复杂度都是O(1)。 若队列为空,pop_front 和 max_value 需要返回 -1 示例 1: 输入: ["MaxQueue","push_back","push_back","max_

  • 算法数据结构系列-实践篇-数组算法2022-07-27 10:01:50

    @目录Offer-03 数组中重复的数字Offer-66 构建乘积数组Offer-45 把数组排成最小的数Offer-49 判断丑数Offer-29 顺时针打印矩阵offer-61 扑克牌中的顺子Offer-57 和为s的两个数字Offer-57-II 和为s的连续正数序列Offer-59-1 滑动窗口的最大值Offer-44 数字序列中某一位的数字Offer

  • 剑指 Offer II 057. 值和下标之差都在给定的范围内-----滑动窗口2022-07-26 15:37:32

    题目表述 给你一个整数数组 nums 和两个整数 k 和 t 。请你判断是否存在 两个不同下标 i 和 j,使得 abs(nums[i] - nums[j]) <= t ,同时又满足 abs(i - j) <= k 。 如果存在则返回 true,不存在返回 false。 示例: 输入:nums = [1,2,3,1], k = 3, t = 0 输出:true 滑动窗口 遍历数组(i

  • 剑指 Offer 58 - I. 翻转单词顺序2022-07-25 21:33:13

    剑指 Offer 58 - I. 翻转单词顺序 输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。为简单起见,标点符号和普通字母一样处理。例如输入字符串"I am a student. ",则输出"student. a am I"。   示例 1: 输入: "the sky is blue" 输出: "blue is sky the" 示例 2: 输入

  • 2022-7-25 剑指offer-滑动窗口2022-07-25 15:04:13

    剑指 Offer II 015. 字符串中的所有变位词 难度中等30收藏分享切换为英文接收动态反馈 给定两个字符串 s 和 p,找到 s 中所有 p 的 变位词 的子串,返回这些子串的起始索引。不考虑答案输出的顺序。 变位词 指字母相同,但排列不同的字符串。 1 class Solution { 2

  • 剑指 Offer 57 - II. 和为s的连续正数序列2022-07-24 19:36:38

    剑指 Offer 57 - II. 和为s的连续正数序列 输入一个正整数 target ,输出所有和为 target 的连续正整数序列(至少含有两个数)。 序列内的数字由小到大排列,不同序列按照首个数字从小到大排列。   示例 1: 输入:target = 9 输出:[[2,3,4],[4,5]] 示例 2: 输入:target = 15 输出:[[1,2,3,4,5]

  • 剑指 Offer 56 - II. 数组中数字出现的次数 II2022-07-24 19:00:34

    剑指 Offer 56 - II. 数组中数字出现的次数 II 在一个数组 nums 中除一个数字只出现一次之外,其他数字都出现了三次。请找出那个只出现一次的数字。   示例 1: 输入:nums = [3,4,3,3] 输出:4 示例 2: 输入:nums = [9,1,7,9,7,9,7] 输出:1   限制: 1 <= nums.length <= 10000 1 <= n

  • 2022-7-23 剑指offer-二维前缀和2022-07-23 14:00:35

    剑指 Offer II 013. 二维子矩阵的和 难度中等47收藏分享切换为英文接收动态反馈 给定一个二维矩阵 matrix,以下类型的多个请求: 计算其子矩形范围内元素的总和,该子矩阵的左上角为 (row1, col1) ,右下角为 (row2, col2) 。 实现 NumMatrix 类: NumMatrix(int[][] matr

  • 剑指 Offer 45. 把数组排成最小的数2022-07-21 21:34:49

    剑指 Offer 45. 把数组排成最小的数 输入一个非负整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。   示例 1: 输入: [10,2] 输出: "102" 示例 2: 输入: [3,30,34,5,9] 输出: "3033459"   提示: 0 < nums.length <= 100 说明: 输出结果

  • 剑指 Offer 44. 数字序列中某一位的数字2022-07-21 20:02:10

    剑指 Offer 44. 数字序列中某一位的数字 数字以0123456789101112131415…的格式序列化到一个字符序列中。在这个序列中,第5位(从下标0开始计数)是5,第13位是1,第19位是4,等等。 请写一个函数,求任意第n位对应的数字。   示例 1: 输入:n = 3 输出:3 示例 2: 输入:n = 11 输出:0   限制: 0 <=

  • 剑指 Offer 43. 1~n 整数中 1 出现的次数2022-07-21 19:00:41

    剑指 Offer 43. 1~n 整数中 1 出现的次数 输入一个整数 n ,求1~n这n个整数的十进制表示中1出现的次数。 例如,输入12,1~12这些整数中包含1 的数字有1、10、11和12,1一共出现了5次。   示例 1: 输入:n = 12 输出:5 示例 2: 输入:n = 13 输出:6   限制: 1 <= n < 2^31 假设当前

  • 2022 -7-20 剑指offer-固定窗口2022-07-20 15:34:20

    剑指 Offer II 009. 乘积小于 K 的子数组 难度中等87收藏分享切换为英文接收动态反馈 给定一个正整数数组 nums和整数 k ,请找出该数组内乘积小于 k 的连续的子数组的个数。 1 public int numSubarrayProductLessThanK(int[] nums, int k) { 2 int index=

  • 剑指 Offer 42. 连续子数组的最大和2022-07-19 18:31:28

    输入一个整型数组,数组中的一个或连续多个整数组成一个子数组。求所有子数组的和的最大值。要求时间复杂度为O(n)。 示例1:输入: nums = [-2,1,-3,4,-1,2,1,-5,4]输出: 6解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。 提示:    1 <= arr.length <= 10^5    -100 <= arr[i] <=

  • 2022-7-19 剑指offer-滑动窗口或者前缀和加二分查找2022-07-19 12:34:35

    剑指 Offer II 008. 和大于等于 target 的最短子数组 难度中等74收藏分享切换为英文接收动态反馈 给定一个含有 n 个正整数的数组和一个正整数 target 。 找出该数组中满足其和 ≥ target 的长度最小的 连续子数组 [numsl, numsl+1, ..., numsr-1, numsr] ,并返回其

  • day212022-07-17 10:33:56

    1.剑指 Offer 15. 二进制中 1 的个数  与1同位与判断最低位是否是1,判断完右移继续判断下一个 1 class Solution { 2 public: 3 int hammingWeight(uint32_t n) { 4 int cnt = 0; 5 while(n){ 6 if(n & 1 == 1) cnt ++; 7 n >>=

  • leetcode.剑指 Offer 46. 把数字翻译成字符串2022-07-16 18:00:20

      给定一个数字,我们按照如下规则把它翻译为字符串:0 翻译成 “a” ,1 翻译成 “b”,……,11 翻译成 “l”,……,25 翻译成 “z”。一个数字可能有多个翻译。请编程实现一个函数,用来计算一个数字有多少种不同的翻译方法。   示例 1: 输入: 12258输出: 5解释: 12258有5种不同的翻译,分别

  • 2022-7-16 剑指offer-快速乘法2022-07-16 11:03:31

    剑指 Offer 16. 数值的整数次方 难度中等320收藏分享切换为英文接收动态反馈 实现 pow(x, n) ,即计算 x 的 n 次幂函数(即,xn)。不得使用库函数,同时不需要考虑大数问题。 1 class Solution { 2 public double myPow(double x, int n) { 3 boolean flag=n>0?tr

  • 剑指 Offer 36. 二叉搜索树与双向链表2022-07-13 19:31:07

    输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的循环双向链表。要求不能创建任何新的节点,只能调整树中节点指针的指向。 为了让您更好地理解问题,以下面的二叉搜索树为例:       我们希望将这个二叉搜索树转化为双向循环链表。链表中的每个节点都有一个前驱和后继指针。对于

  • 剑指 Offer 35. 复杂链表的复制2022-07-13 18:03:50

    请实现 copyRandomList 函数,复制一个复杂链表。在复杂链表中,每个节点除了有一个 next 指针指向下一个节点,还有一个 random 指针指向链表中的任意节点或者 null。 示例 1:     输入:head = [[7,null],[13,0],[11,4],[10,2],[1,0]]输出:[[7,null],[13,0],[11,4],[10,2],[1,0]]示例 2

  • 剑指 Offer 33. 二叉搜索树的后序遍历序列2022-07-12 21:34:31

    输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历结果。如果是则返回 true,否则返回 false。假设输入的数组的任意两个数字都互不相同。 参考以下这颗二叉搜索树:     5    / \   2   6  / \ 1   3示例 1:输入: [1,6,3,2,5]输出: false示例 2:输入: [1,3,2,6,

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有