摘要:
1.leetcode面试题08.04幂集 幂集。编写一种方法,返回某集合的所有子集。集合中不包含重复的元素。 说明:解集不能包含重复的子集。 解题思路: 1.构建出符合题目解的n叉树,即可根据树来设定结束回溯的条件,剪枝的条件,已经是否需要辅助数组 通过给出的关于解空间的n叉树,可以知道,需要在回溯 阅读全文
摘要:
地上有一个m行n列的方格,从坐标 [0,0] 到坐标 [m-1,n-1] 。一个机器人从坐标 [0, 0] 的格子开始移动,它每次可以向左、右、上、下移动一格(不能移动到方格外),也不能进入行坐标和列坐标的数位之和大于k的格子。例如,当k为18时,机器人能够进入方格 [35, 37] ,因为3+5+ 阅读全文
摘要:
剑指offer 11,12 1.旋转数组的最小数字 方法1: 1 public static int method2(int[] numbers){ 2 if(numbers.length == 1) return numbers[0]; 3 else{ 4 int firstNum,secondN 阅读全文
摘要:
剑指offer10-1 10-2 1.斐波那契数列 方法1: 1 class Solution { 2 3 public int fib(int n){ 4 return fibGetN(n)%(1000000007); 5 } 6 7 public static int fibGetN(int n 阅读全文
摘要:
剑指offer07-09 1.重建二叉树 方法1: 1 public static TreeNode buildTree(int[] preorder,int[] inorder){ 2 //非递归的方法 3 Stack<TreeNode> stack = new Stack<>(); 4 int 阅读全文
摘要:
1.替换空格 1 public static String replaceSpace(String s){ 2 StringBuilder stringBuilder = new StringBuilder(); 3 for (int i = 0; i < s.length(); i++) { 4 阅读全文
摘要:
剑指offer 03.04 1.面试题03.数组中重复的数值 方法1.直接使用暴力查找的方法, public static int findRepeatNumber(int[] nums){ int[] arrs = new int[nums.length]; for (int i = 0; i < 阅读全文
摘要:
什么是回溯法? S: 回溯法官网概念是一个类似枚举搜素尝试的过程,是一种选优搜索树,按照某个条件来向前搜索,如果满足条件的时候,就“回溯”,返回到树的上一层,重新试探其他的结果,直到遍历完所有的解空间。个人理解就是该问题的解可以构建一棵解空间树,该题就可以使用回溯法来解决,下面我们使用了N皇后这个经 阅读全文
摘要:
许多用户认为他们在UNIX、Linux命令行界面上所见的就是真正的操作系统,实际上这只是一个命令行解释器,叫做shell。它是一个用来接收用户输入命令并把它翻译成指令的程序,是一个介于用户和底层操作系统之间的程序。它的目的是方便用户使用内核,更重要的是保护内核不受用户的破坏。shell和MS-DOS 阅读全文
摘要:
装饰器的作用:给原有的函数添加新的功能但是不改变原有函数的代码 假设我们有如下的代码,其中hello函数可以打印“Hello” 但是现在我们需要对hello函数添加新的功能,使其可以同时打印‘goodBye’,简单的我们可以使用下面的代码完成 或者是这样的 但是这样的话代码很麻烦,同时当我们需要撤销 阅读全文