算法
拯救小老弟
人生天地间,忽如远行客。
展开
-
字节跳动算法题
文章目录一、[编程题]万万没想到之聪明的编辑一、[编程题]万万没想到之聪明的编辑牛客网题目链接我叫王大锤,是一家出版社的编辑。我负责校对投稿来的英文稿件,这份工作非常烦人,因为每天都要去修正无数的拼写错误。但是,优秀的人总能在平凡的工作中发现真理。我发现一个发现拼写错误的捷径:三个同样的字母连在一起,一定是拼写错误,去掉一个的就好啦:比如 helllo -> hello两对一样的...原创 2019-12-13 13:46:43 · 477 阅读 · 1 评论 -
LintCode--二叉树
文章目录66. 二叉树的前序遍历66. 二叉树的前序遍历给出一棵二叉树,返回其节点值的前序遍历。首个数据为根节点,后面接着是其左儿子和右儿子节点值,"#"表示不存在该子节点。节点数量不超过20样例 1:输入:{1,2,3}输出:[1,2,3]它将被序列化为{1,2,3}前序遍历样例 2:输入:{1,#,2,3}输出:[1,2,3]它将被序列化为{1,#,2,3}前序...原创 2019-08-15 18:11:38 · 196 阅读 · 0 评论 -
从尾到头打印链表(牛客网)
一、题目描述:输入一个链表,按链表值从尾到头的顺序返回一个ArrayList。二、解题思路:这道题类似于反向输出链表的题目。有两种思路:①递归解决,可以反向输出。(根据递归的特点)②充分利用数据结构:栈的“后进先出”实现③三、代码①递归版本/*** public class ListNode {* int val;* ListNode ne...原创 2019-08-08 16:13:24 · 352 阅读 · 0 评论 -
替换空格(牛客网刷题)
一、题目描述:请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。二、我的思路:这题非常简单,其实主要是考试java中的字符串类型的相关知识。String类型不能被改变,一旦被改变就是另外一个对象了。而StringBuffer是允许可变的。三、代码public class Sol...原创 2019-08-08 13:05:20 · 230 阅读 · 0 评论 -
二维数组的查找(牛客网)
一、题目描述在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。二、我的思路:设计思路:从第一行到最后一行起,每一行都是:先用二分查找找到本行比target小的数字,然后这个数字右边的所有列都比target大,故去除;即程序中的i1 = bina...原创 2019-08-08 12:28:22 · 172 阅读 · 0 评论 -
LintCode-动态规划算法-背包问题
文章目录LintCode-动态规划算法-背包问题92. 背包问题700. 杆子分割LintCode-动态规划算法-背包问题92. 背包问题描述:在n个物品中挑选若干物品装入背包,最多能装多满?假设背包的大小为m,每个物品的大小为A[i]。你不可以将物品进行切割。样例:样例 1: 输入: [3,4,8,5], backpack size=10 输出: 9样例 2: 输入...原创 2019-05-13 17:15:11 · 378 阅读 · 0 评论 -
动态规划之背包问题
目录一、01背包二、完全背包一、01背包描述:给定n个重量为w1,w2,w3.……Wn,价值为v1,v2,v3...Vn的物品和容量为C的背包,求这个物品中一个最有价值的子集,使得在满足背包的容量的前提下,包内的总价值最大。01-背包:每个物品只能使用0次或1次。package algorithm;/** * @ClassName Bag01 * Descript...原创 2019-05-10 17:46:29 · 340 阅读 · 0 评论 -
LintCode-链表
文章目录35、翻转链表解法一:递归解法二:三个指针36、翻转链表II35、翻转链表解法一:递归代码见下:/** * Definition for ListNode * public class ListNode { * int val; * ListNode next; * ListNode(int x) { * val = x; *...原创 2019-05-07 17:05:42 · 222 阅读 · 0 评论 -
LintCode-动态规划
第一题:经典爬楼梯问题假设你正在爬楼梯,需要n步你才能到达顶部。但每次你只能爬一步或者两步,你能有多少种不同的方法爬到楼顶部?样例 1: 输入: n= 3 输出: 3 样例解释: 1) 1, 1, 1 2) 1, 2 3) 2, 1 共3种样例 2: 输入: n = 1 输出: 1 解释: 只有一种方案public class Solut...原创 2019-03-21 17:00:18 · 312 阅读 · 0 评论 -
深入解析插入排序算法(Insertion Sort)
用C++语言描述我印象中的排序算法,我是这样写的:#include <iostream>using namespace std;void insertion_sort(int a[],int n){ for(int i=1;i<n;i++) { int key=a[i]; int j=i-1; while(j>=0&&a[j]>k...原创 2018-04-08 10:47:01 · 398 阅读 · 0 评论