代码编织梦想

微软2014实习生及秋令营技术类职位在线测试: k-爱代码爱编程

import java.util.Scanner; public class KString_2 { private static int number = 33 ; private static int[] comb = new int[(number+1)*(number+2)/2]; // 预处理好的排列组合值 public stati

面试算法 牛客题目 链表内指定区间反转_面试指定区间链表反转-爱代码爱编程

1.题目:链表内指定区间反转 题目解释:   2.算法: 链表反转 3.算法思想:(看代码!!!) //算法的解释  链表 的 1 2 3 4 5 6 7   把 2  到  4    区间的链表反转  变成 1 4 3 2 5 6 7   // 过程  开始 /* //算法思想  :    找到需要反转的开始节点  (第一个节点

微软2014实习生及秋令营技术类职位在线测试: reduce inversion count-爱代码爱编程

import java.util.Scanner; public class ReduceInversionCount { public static void main(String[] args) { Scanner in = new Scanner(System.in); String inStr ; Integer[] nu

面试算法 字符串匹配 算法:暴力算法,哈希算法 , kmp 算法_字符串哈希和kmp-爱代码爱编程

1.题目:字符串匹配  2.算法: 1.暴力算法 2.哈希算法匹配 3.KMP 算法 3.算法思想:(看代码!! ) KMP算法是一种改进的字符串匹配算法,由D.E.Knuth,J.H.Morris和V.R.Pratt提出的,因此人们称它为克努特—莫里斯—普拉特操作(简称KMP算法)。KMP算法的核心是利用匹配失败后的信息,尽量减少模式串与

面试算法 牛客题目 删除有序链表中重复的元素 (2)_java 删除有序链表中重复的元素-爱代码爱编程

1.题目:  删除有序链表中重复的元素  (2) 描述 给出一个升序排序的链表,删除链表中的所有重复出现的元素,只保留原链表中只出现一次的元素。 例如: 给出的链表为  1→2→3→3→4→4→5, 返回  1→2→5. 给出的链表为  1→1→1→2→3, 返回  2→3. 数据范围:链表长度 0 \le n \le 100000≤n≤10000,链表

面试算法 牛客题目 链表中的节点每k个一组翻转_算法链表1234567变成2143657-爱代码爱编程

1.题目:BM3 链表中的节点每k个一组翻转 描述 将给出的链表中的节点每 k 个一组翻转,返回翻转后的链表 如果链表中的节点数不是 k 的倍数,将最后剩下的节点保持原样 你不能更改节点中的值,只能更改节点本身。 数据范围: \ 0 \le n \le 2000 0≤n≤2000 , 1 \le k \le 20001≤k≤2000 ,链表中每个元素都满

面试算法 牛客题目 删除链表的倒数第n个节点_删除单链表的尾结点需要遍历整个链表,其时间复杂度为o(n),n为链表长度。-爱代码爱编程

1.题目:  删除链表的倒数第n个节点 描述 输描述 给定一个链表,删除链表的倒数第 n 个节点并返回链表的头指针 例如, 给出的链表为: 1→2→3→4→5,n=2. 删除了链表的倒数第 n 个节点之后,链表变为1→2→3→5. 数据范围: 链表长度  10000≤n≤1000,链表中任意节点的值满足  0≤val≤100 要求:空间复杂度 O(1)O

面试算法 井字游戏 算法:暴力算法_井字法算术-爱代码爱编程

1.题目:井字游戏 用字符串数组作为井字游戏的游戏板board,判断该游戏板有没有可能最终形成. 游戏板是一个3 x 3 数组,由字符"","X"和"O"组成。字符""代表一个空位。两个玩家轮流将字符放入空位,一个玩家执X棋,另一个玩家执O棋 “X”和“O”只允许放置在空位中,不允许对已放有字符的位置进行填充。当有3个相同(且非空)的字符填充任何行、列或对

面试算法 牛客题目 寻找峰值_给定一个长度为n的数组nums-爱代码爱编程

1.题目:  寻找峰值 描述 给定一个长度为n的数组nums,请你找到峰值并返回其索引。数组可能包含多个峰值, 在这种情况下,返回任何一个所在位置即可。 1.峰值元素是指其值严格大于左右相邻值的元素。严格大于即不能有等于 2.假设 nums[-1] = nums[n] = -\infty?∞ 3.对于所有有效的 i 都有 nums[i] != nums[i

面试算法 牛客题目 链表中倒数最后k个结点-爱代码爱编程

1.题目: 链表中倒数最后k个结点 描述 输入一个长度为 n 的链表,设链表中的元素的值为 ai ,返回该链表中倒数第k个节点。 如果该链表长度小于k,请返回一个长度为 0 的链表。 要求:空间复杂度 O(n)O(n),时间复杂度 O(n)O(n) 进阶:空间复杂度 O(1)O(1),时间复杂度 O(n)O(n)    2.算法 1

面试算法 牛客题目 合并两个排序的链表-爱代码爱编程

1.题目:合并两个排序的链表 描述 输入两个递增的链表,单个链表的长度为n,合并这两个链表并使新链表中的节点仍然是递增排序的。 数据范围: 0 \le n \le 10000≤n≤1000,-1000 \le 节点值 \le 1000?1000≤节点值≤1000 要求:空间复杂度 O(1)O(1),时间复杂度 O(n)O(n) 如输入{1,3,5},{2

面试算法 香槟塔 ,算法:暴力算法_香槟塔计算-爱代码爱编程

1.题目: 香槟塔 把玻璃杯摆成金字塔的形状,其中第一层有1个玻璃杯,第二层有2个,依次类推到第100层。 从顶层的第一个玻璃杯开始倾倒一些香槟,当顶层的杯子满了,任何溢出的香槟都会立刻等流量的流向左右两侧的玻璃杯。当左右两边的杯子也满了,就会等流量的流向它们左右两边的杯子,依次类推。(当最底层的玻璃杯满了,香槟会流到地板上) 例如,在倾倒一杯香槟后,最

微软2014实习生及秋令营技术类职位在线测试:string reorder-爱代码爱编程

import java.util.Scanner; public class Stringreorder { /** * @param args */ public static void main(String[] args) { int len = 36 ; int num[] = new int[len] ; char

回文字符串-爱代码爱编程

1. Valid Palindrome Given a string, determine if it is a palindrome, considering only alphanumeric characters and ignoring cases. For example, "A man, a plan, a canal: Panama" i

从尾到头打印链表_follow_my_heart的博客-爱代码爱编程

题目:创建一个链表,从尾到头打印链表。 三种方法:利用栈, 递归, 就地逆置 #include <iostream> #include <stack> using namespace std; template <class T> struct Node { T data; Node<

面试算法 牛客题目 bm50 两数之和__she001的博客-爱代码爱编程

1.题目:BM50 两数之和 描述: 给出一个整型数组 numbers 和一个目标值 target,请在数组中找出两个加起来等于目标值的数的下标,返回的下标按升序排列。 (注:返回的数组下标从1开始算起,保证target一定可以由数组里面2个数字相加得到) 要求:空间复杂度 O(n)O(n),时间复杂度 O(nlogn)O(nlogn) 2.算法

面试算法 牛客题目 比较版本号__she001的博客-爱代码爱编程

1.题目:比较版本号  描述: 描述 牛客项目发布项目版本时会有版本号,比如1.02.11,2.14.4等等 现在给你2个版本号version1和version2,请你比较他们的大小 版本号是由修订号组成,修订号与修订号之间由一个"."连接。1个修订号可能有多位数字组成,修订号可能包含前导0,且是合法的。例如,1.02.11,0.1,0.2都是合法的版本

面试算法 牛客题目 旋转数组的最小数字__she001的博客-爱代码爱编程

1.题目:旋转数组的最小数字 描述: 有一个长度为 n 的非降序数组,比如[1,2,3,4,5],将它进行旋转,即把一个数组最开始的若干个元素搬到数组的末尾,变成一个旋转数组,比如变成了[3,4,5,1,2],或者[4,5,1,2,3]这样的。请问,给定这样一个旋转数组,求数组中的最小值。 数据范围:1 \le n \le 100001≤n≤10

面试算法 牛客题目 数组中的逆序对__she001的博客-爱代码爱编程

1.题目:  数组中的逆序对 描描述 在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数P。 并将P对1000000007取模的结果输出。 即输出P mod 1000000007 数据范围:  对于 50\%50% 的数据, size≤10 ^4 对于 100\%100% 的数据,

面试算法 牛客题目 二维数组中的查找__she001的博客-爱代码爱编程

1.题目:  二维数组中的查找 描述 在一个二维数组array中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。 请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 [ [1,2,8,9], [2,4,9,12], [4,7,10,13], [6,8,11,15] ] 给定 ta