-----剑指思维
文章平均质量分 81
剑指offer 引导思维培养
duoduo18up
对世界充满好奇 勇于尝试 喜欢编程
展开
-
《剑指offer》------回溯法专题
矩阵中的路径:请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向左,向右,向上,向下移动一个格子。如果一条路径经过了矩阵中的某一个格子,则该路径不能再进入该格子。 例如 a b c e s f c s a d e e 矩阵中包含一条字符串"bcced"的路径,但是矩阵中不包含"abcb"路径,因为字符串的第一个字符b...原创 2018-05-20 21:45:48 · 377 阅读 · 0 评论 -
《剑指offer》------字符串/数组专题
package com.duoduo.day329;/* * 一个二维数组,每一行从左到右递增,每一列从上到下递增.输入一个二维数组和一个整数,判断数组中是否含有整数。 */public class ArrSearch { public static void main(String [] args) { int [][] arr= {{1,2,8,9},{2,4,9,12},{4...原创 2018-05-19 17:46:17 · 344 阅读 · 0 评论 -
《剑指offer》------抽象建模/发散思维专题
解法一:基于递归求骰子的点数,时间效率不够高现在我们考虑如何统计每一个点数出现的次数。要想求出n个骰子的点数和,可以先把n个骰子分为两堆:第一堆只有一个,另一个有n-1个。单独的那一个有可能出现从1到6的点数。我们需要计算从1到6的每一种点数和剩下的n-1个骰子来计算点数和。接下来把剩下的n-1个骰子还是分成两堆,第一堆只有一个,第二堆有n-2个。我们把上一轮哪个单独骰子的点数和这一轮单独骰子的点...原创 2018-05-07 17:07:12 · 265 阅读 · 0 评论 -
输出字符串的全部组合/全排列 Java
递归法(遍历字符串--每个字符只能取或不取)package com.duoduo.day316;public class TestABC { public static void main(String [] args) { String s="ABC"; char[] c=s.toCharArray(); StringBuffer sb=new StringBuffer();...原创 2018-03-28 22:30:57 · 5733 阅读 · 0 评论 -
树的三种非递归遍历(结合栈)
public static void preOrderUnRecur(Node head) { System.out.println("先序遍历如下:"); if(head!=null) { Stack<Node> s=new Stack<Node>(); s.push(head); //压入根节点 while(!s.isEmpty...原创 2018-03-28 21:47:41 · 1274 阅读 · 0 评论 -
图的深度优先遍历DFS和广度优先遍历BFS
深度优先遍历(栈和递归)即从初始节点开始访问,而初始节点与多个节点相连接,所以,深度优先遍历的策略就是首先访问第一个邻接结点,然后再以这个被访问的邻接结点作为初始结点,访问它的第一个邻接结点。总结起来可以这样说:每次都在访问完当前结点后首先访问当前结点的第一个邻接结点。思路:先以一个点为起点,这里假如是点A,那么就将A相邻的点放入堆栈,然后在栈中再取出栈顶的顶点元素(假如是点B),再将B相邻的且没...原创 2018-03-28 16:41:08 · 522 阅读 · 0 评论 -
图的表示和遍历
来自《图解数据结构---使用Java》图的表示常见到的有:相邻矩阵法相邻表法(1)相邻矩阵法 某个点arr[x][y]值为1则表示对应顶点有边存在,为0则表示对应顶点无边存在。 无向图(矩阵对称) 有向图(矩阵不对称)package com.duoduo.day316;/*无向图*/public class Graph1 { public static void main(String...原创 2018-03-28 15:14:46 · 404 阅读 · 0 评论 -
《剑指offer》----查找/排序/递归/循环/位操作专题
重点: 二分查找 快速排序 归并排序查找: 顺序查找 二分查找 哈希表查找 二叉树查找面试题:/** * 思路:就是有一个原始的ages[] 数组 ,但是没有排顺序,我们借助一个新数组timesOfAges[] 对年龄进行次数统计 * 然后 按照年龄大小 分别存入对应次数的ages 即相当于排序 * 例子: 原数组 {1 ,5,3,7,3,2,1,2} ------->...原创 2018-04-03 16:28:54 · 153 阅读 · 0 评论 -
《剑指offer》------栈/队列专题
//需要考虑S2是否为空 import java.util.Stack;public class Solution { Stack<Integer> stack1 = new Stack<Integer>(); Stack<Integer> stack2 = new Stack<Integer>(); //队列...原创 2018-04-03 14:15:41 · 205 阅读 · 0 评论 -
《剑指offer》------树专题
我的想法: * Definition for binary tree * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */public class Solution { publ...原创 2018-04-03 14:15:48 · 246 阅读 · 0 评论 -
《剑指offer》------字符串/数组专题
package com.duoduo.day329;/* * 一个二维数组,每一行从左到右递增,每一列从上到下递增.输入一个二维数组和一个整数,判断数组中是否含有整数。 */public class ArrSearch { public static void main(String [] args) { int [][] arr= {{1,2,8,9},{2,4,9,12},{4...原创 2018-04-03 14:16:00 · 355 阅读 · 0 评论 -
《剑指offer》 ---链表专题
/*** public class ListNode {* int val;* ListNode next = null;** ListNode(int val) {* this.val = val;* }* }**//*用栈的思路去解决*/import java.util.Stack...原创 2018-04-03 14:15:53 · 200 阅读 · 0 评论