一、计算机系统
一、计算机系统 1、计算机基础 1、计算机的基本硬件系统:运算器、控制器、存储器、输入设备和输出设备**5大部件组成 CPU是硬件系统的核心 存储器是计算机系统中的记忆设备 输入设备和输出设备合称为外部设备(简称外设) 1、CPU功能 1、它负责获取程序指令、对指令进行译码并加以执行。 2、如图 控制器 程序控制 CPU通过执行指令来控制程序的执行…
189.轮转数组
199、多数元素【数组】 1、多数元素 给定一个大小为 n 的数组 nums ,返回其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。 你可以假设数组是非空的,并且给定的数组总是存在多数元素。 示例 1: 输入:nums = [3,2,3] 输出:3 示例 2: 输入:nums = [2,2,1,1,1,2,2] 输出:2…
50、Pow(x,n)
50、Pow(x,n) 1、题目 50. Pow(x, n) 实现 pow(x, n) ,即计算 x 的整数 n 次幂函数(即,xn )。 示例 1: 输入:x = 2.00000, n = 10 输出:1024.00000 示例 2: 输入:x = 2.10000, n = 3 输出:9.26100 示例 3: 输入:x = 2.00000, n…
43. 字符串相乘
43. 字符串相乘 给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式。 注意:不能使用任何内置的 BigInteger 库或直接将输入转换为整数。 示例 1: 输入: num1 = "2", num2 = "3" 输出: "…
动态规划基础
动态规划 1、基本内容 1、动态规划,英文:Dynamic Programming,简称DP,如果某一问题有很多重叠子问题,使用动态规划是最有效的。 2、所以动态规划中每一个状态一定是由上一个状态推导出来的,这一点就区分于贪心,贪心没有状态推导,而是从局部直接选最优的, 3、对于动态规划问题,我将拆解为如下五步曲,这五步都搞清楚了,才能说把动态规划…
贪心算法基础
贪心算法 1、概念 1、贪心算法没有特别的模版和公式 2、只能自己模拟或感觉可以做贪心再做 2、解题步骤 1、贪心算法一般分为如下四步: 将问题分解为若干个子问题 找出适合的贪心策略 求解每一个子问题的最优解 将局部最优解堆叠成全局最优解 2、这个四步其实过于理论化了,我们平时在做贪心类的题目 很难去按照这四步去思考,真是有点“鸡肋”。 3、做题的…
回溯算法基础
回溯算法 1、理论知识 1、什么是回溯法 1、回溯法也可以叫做回溯搜索法,它是一种搜索的方式。 2、在二叉树系列中,我们已经不止一次,提到了回溯,例如二叉树:以为使用了递归,其实还隐藏着回溯 (opens new window)。 3、回溯是递归的副产品,只要有递归就会有回溯。 4、所以以下讲解中,回溯函数也就是递归函数,指的都是一个函数。 2、回…
递归算法基础
递归算法 1、一般用于二叉树 1、递归三部曲 1、递归函数参数以及返回值 2、确定终止条件 3、确定单层递归的逻辑
栈和队列
栈和队列 1、栈 1、适合做栈相邻的内容 2、相邻的字符串、相邻的数字、括号啥的 1、逆波兰表达式 1、就是二叉树的后续遍历(左右中) 2、
双指针
双指针 1、交换方法 1、 while(start<end){ ch[start] ^= ch[end]; ch[end] ^= ch[start]; ch[start] ^= ch[end]; start++; end--; } 2、快慢指针