摘要:
前言: 如今,网络编程已然成为了一个后端开发工程师需要具备的核心技能之一。因此,该博客力求提供最简单、通俗的描述方式,来描绘网络编程中常见的知识点,同时附带代码示例,后期会加上具体的抓包分析,实际项目、框架案例,希望可以和大家共同探索网络世界。 什么是socket? 在计算机通讯领域,socket被 阅读全文
摘要:
前言: 每道题附带动态示意图,提供java、python两种语言答案,力求提供leetcode最优解。 描述: 给定一个非空二叉树,返回其最大路径和。 本题中,路径被定义为一条从树中任意节点出发,达到任意节点的序列。该路径至少包含一个节点,且不一定经过根节点。 示例 1: 输入: [1,2,3] 1 阅读全文
摘要:
前言: 每道题附带动态示意图,提供java、python两种语言答案,力求提供leetcode最优解。 描述: 找到给定字符串(由小写字符组成)中的最长子串 T , 要求 T 中的每一字符出现次数都不少于 k 。输出 T 的长度。 示例 1: 输入:s = "aaabb", k = 3 输出:3 最 阅读全文
摘要:
描述: 给定一个整数数组 nums,求出数组从索引 i 到 j (i ≤ j) 范围内元素的总和,包含 i, j 两点。 示例: 给定 nums = [-2, 0, 3, -5, 2, -1],求和函数为 sumRange() sumRange(0, 2) -> 1sumRange(2, 5) -> 阅读全文
摘要:
描述: 爱丽丝和鲍勃一起玩游戏,他们轮流行动。爱丽丝先手开局。 最初,黑板上有一个数字 N 。在每个玩家的回合,玩家需要执行以下操作: 选出任一 x,满足 0 < x < N 且 N % x == 0 。用 N - x 替换黑板上的数字 N 。如果玩家无法执行这些操作,就会输掉游戏。 只有在爱丽丝在 阅读全文
摘要:
描述: 给出 n 代表生成括号的对数,请你写出一个函数,使其能够生成所有可能的并且有效的括号组合。 示例: 例如,给出 n = 3,生成结果为: [ "((()))", "(()())", "(())()", "()(())", "()()()"] 思路: 这道题可以用回溯法解决,即穷举出所有可能, 阅读全文
摘要:
前言: 数组,应该是我们每个人学习编程时接触的第一个数据结构。它很简单,但是却很重要。 为什么这么说呢? 很多高级的数据结构,其实都是由数组组成的,或者说是用数组来实现的。 比如跳跃表、散列表是由数组+链表组成的。 堆、完全二叉树、图(邻接矩阵存储)都可以用数组来实现。 所以说学好数组,就等于为你学 阅读全文
摘要:
描述: 给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 成为一个有序数组。 说明: 初始化 nums1 和 nums2 的元素数量分别为 m 和 n。你可以假设 nums1 有足够的空间(空间大小大于或等于 m + n)来保存 nums2 中 阅读全文
摘要:
描述: 编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target。该矩阵具有以下特性: 每行的元素从左到右升序排列。 每列的元素从上到下升序排列。 示例: 现有矩阵 matrix 如下: [ [1, 4, 7, 11, 15], [2, 5, 8, 12, 19], [ 阅读全文
摘要:
描述: 给定一个大小为 n 的数组,找到其中的多数元素。多数元素是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素。 你可以假设数组是非空的,并且给定的数组总是存在多数元素。 示例 1: 输入: [3,2,3] 输出: 3 示例 2: 输入: [2,2,1,1,1,2,2] 输出: 2 思路: 这道题 阅读全文