算法
PKU_CXK
北京大学信息科学技术学院
展开
-
LeetCode | 26. Remove Duplicates from Sorted Array
Given a sorted array, remove the duplicates in place such that each element appear only once and return the new length.Do not allocate extra space for another array, you must do this in place with cons原创 2017-04-26 00:20:12 · 265 阅读 · 0 评论 -
LeetCode | 54. Spiral Matrix
Given a matrix of m x n elements (m rows, n columns), return all elements of the matrix in spiral order.For example, Given the following matrix:[ [ 1, 2, 3 ], [ 4, 5, 6 ], [ 7, 8, 9 ]]You should原创 2017-07-01 11:27:40 · 328 阅读 · 0 评论 -
LeetCode | 55. Jump Game
Given an array of non-negative integers, you are initially positioned at the first index of the array.Each element in the array represents your maximum jump length at that position.Determine if you are原创 2017-07-02 16:53:27 · 249 阅读 · 0 评论 -
LeetCode | 56. Merge Intervals——合并区间
Given a collection of intervals, merge all overlapping intervals.For example,Given [1,3],[2,6],[8,10],[15,18],return [1,6],[8,10],[15,18].思路:按照start排序,然后遍历全部元素,如果完全错开就放进去,如果没有完全错开就修改上一区间的end值。用vector原创 2017-07-02 17:24:20 · 434 阅读 · 0 评论 -
LeetCode | 57. Insert Interval
Given a set of non-overlapping intervals, insert a new interval into the intervals (merge if necessary).You may assume that the intervals were initially sorted according to their start times.Example 1:原创 2017-07-03 17:16:59 · 335 阅读 · 0 评论 -
腾讯2017秋招笔试编程题
1、[编程题] 编码 假定一种编码的编码范围是a ~ y的25个字母,从1位到4位的编码,如果我们把该编码按字典序排序,形成一个数组如下: a, aa, aaa, aaaa, aaab, aaac, … …, b, ba, baa, baaa, baab, baac … …, yyyw, yyyx, yyyy 其中a的Index为0,aa的Index为1,aaa的Index为2,以此类推。 编写一原创 2017-06-24 01:01:36 · 8184 阅读 · 7 评论 -
LeetCode | 39. Combination Sum
Given a set of candidate numbers (C) (without duplicates) and a target number (T), find all unique combinations in C where the candidate numbers sums to T.The same repeated number may be chosen from C原创 2017-06-13 02:41:52 · 267 阅读 · 0 评论 -
LeetCode | 59. Spiral Matrix II
Given an integer n, generate a square matrix filled with elements from 1 to n2 in spiral order.For example, Given n = 3,You should return the following matrix:[ [ 1, 2, 3 ], [ 8, 9, 4 ], [ 7, 6, 5原创 2017-07-04 16:58:14 · 343 阅读 · 0 评论 -
LeetCode | 45. Jump Game II
Given an array of non-negative integers, you are initially positioned at the first index of the array.Each element in the array represents your maximum jump length at that position.Your goal is to reac原创 2017-06-26 23:28:26 · 312 阅读 · 0 评论 -
LeetCode | 46. Permutations
Given a collection of distinct numbers, return all possible permutations.For example,[1,2,3] have the following permutations:[ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2,1]]题意:给出几原创 2017-06-28 09:16:45 · 314 阅读 · 0 评论 -
LeetCode | 53. Maximum Subarray
Find the contiguous subarray within an array (containing at least one number) which has the largest sum.For example, given the array [-2,1,-3,4,-1,2,1,-5,4], the contiguous subarray [4,-1,2,1] has the原创 2017-07-01 10:36:11 · 275 阅读 · 0 评论 -
LeetCode | 50. Pow(x, n)
Implement pow(x, n).思路:分治法。主要特殊情况比较多,需要全部考虑(也可以将n设为long 类型变量,来应付 INT_MIN)class Solution {public: double myPow(double x, int n) { if(n == 0) return 1; if(n < 0)原创 2017-07-01 10:19:52 · 286 阅读 · 0 评论 -
Leetcode | 33. Search in Rotated Sorted Array
Suppose an array sorted in ascending order is rotated at some pivot unknown to you beforehand.(i.e., 0 1 2 4 5 6 7 might become 4 5 6 7 0 1 2).You are given a target value to search. If found in the ar原创 2017-05-28 00:09:47 · 261 阅读 · 0 评论 -
LeetCode | 27. Remove Element
Given an array and a value, remove all instances of that value in place and return the new length.Do not allocate extra space for another array, you must do this in place with constant memory.The order原创 2017-05-18 11:28:33 · 273 阅读 · 0 评论 -
LeetCode | 34. Search for a Range
Given an array of integers sorted in ascending order, find the starting and ending position of a given target value.Your algorithm’s runtime complexity must be in the order of O(log n).If the target is原创 2017-05-30 18:09:26 · 255 阅读 · 0 评论 -
美团编程大赛-优惠券 (set)
题目描述 美团点评上有很多餐馆优惠券,用户可以在美团点评App上购买。每种优惠券有一个唯一的正整数编号。每个人可以拥有多张优惠券,但每种优惠券只能同时拥有至多一张。每种优惠券可以在使用之后继续购买。当用户在相应餐馆就餐时,可以在餐馆使用优惠券进行消费。某人优惠券的购买和使用按照时间顺序逐行记录在一个日志文件中,运营人员会定期抽查日志文件看业务是否正确。业务正确的定义为:一个优惠券必须先被购买,然后原创 2017-06-16 03:16:45 · 1202 阅读 · 0 评论 -
LeetCode | 35. Search Insert Position
Given a sorted array and a target value, return the index if the target is found. If not, return the index where it would be if it were inserted in order.You may assume no duplicates in the array.Here原创 2017-06-05 20:17:24 · 216 阅读 · 0 评论 -
LeetCode | 41. First Missing Positive
Given an unsorted integer array, find the first missing positive integer.For example,Given [1,2,0] return 3,and [3,4,-1,1] return 2.Your algorithm should run in O(n) time and uses constant space.思路:类原创 2017-06-20 13:02:59 · 270 阅读 · 0 评论 -
LeetCode | 47. Permutations II
Given a collection of numbers that might contain duplicates, return all possible unique permutations.For example,[1,1,2] have the following unique permutations:[ [1,1,2], [1,2,1], [2,1,1]]思路一:原创 2017-06-29 23:56:19 · 273 阅读 · 0 评论 -
LeetCode | 48. Rotate Image
You are given an n x n 2D matrix representing an image.Rotate the image by 90 degrees (clockwise).题意:矩阵顺时针翻转90°//6 msclass Solution {public:/*1 2 34 5 67 8 9=>前后翻转7 8 94 5 61 2 3=>对称变换7 4 18原创 2017-06-30 10:51:23 · 253 阅读 · 0 评论 -
LeetCode | 49. Group Anagrams
Given an array of strings, group anagrams together.For example, given: ["eat", "tea", "tan", "ate", "nat", "bat"], Return:[ ["ate", "eat","tea"], ["nat","tan"], ["bat"]]Note: All inputs will be原创 2017-06-30 11:41:17 · 349 阅读 · 0 评论 -
LeetCode | 60. Permutation Sequence——第K个全排列
The set [1,2,3,…,n] contains a total of n! unique permutations.By listing and labeling all of the permutations in order,We get the following sequence (ie, for n = 3):"123""132""213""231""312""321"原创 2017-07-06 22:50:42 · 522 阅读 · 0 评论 -
LeetCode | 61. Rotate List
Given a list, rotate the list to the right by k places, where k is non-negative.For example:Given 1->2->3->4->5->NULL and k = 2,return 4->5->1->2->3->NULL.题意:将链表的右端的K个元素放到左边。// 16 ms/** * Definitio原创 2017-07-07 10:58:09 · 337 阅读 · 0 评论 -
LeetCode | 81. Search in Rotated Sorted Array II
Suppose an array sorted in ascending order is rotated at some pivot unknown to you beforehand.(i.e., 0 1 2 4 5 6 7 might become 4 5 6 7 0 1 2).Write a function to determine if a given target is in the原创 2017-09-22 17:49:54 · 359 阅读 · 0 评论 -
LeetCode | 80. Remove Duplicates from Sorted Array II
Follow up for “Remove Duplicates”: What if duplicates are allowed at most twice?For example,Given sorted array nums = [1,1,1,2,2,3],Your function should return length = 5, with the first five element原创 2017-09-16 22:03:32 · 316 阅读 · 0 评论 -
POJ 4001 抓住那头牛(广度优先搜索)
题目链接 http://bailian.openjudge.cn/practice/4001/#include <iostream>#include <queue>#include <cstdio>using namespace std;int N, K;int vis[201000];struct point{ int p...原创 2018-04-17 19:57:02 · 687 阅读 · 0 评论 -
POJ 1011 Sticks(搜索问题)
题目链接 http://bailian.openjudge.cn/practice/1011/思路一(TLE): 输入数据时,计算出需要枚举的原始棍子长度的上界下界,然后枚举。对每一个stick,将他归到某一组棍子中(如果当前枚举的原始棍子长度为i,一组棍子的总和就应该恰好是i),然后搜索。#include <iostream>#include <algorithm...原创 2018-04-17 21:41:48 · 375 阅读 · 0 评论 -
POJ 3714 最近点对
POJ 3714 最近点对描述 给定点集A和点集B,两个点集分别有N个顶点。问任意顶点对(a,b)的最近距离是多少,其中a属于A,b属于B。输入 第一行为数据个数T,表示接下来有T个测试数据。 对于每个测试数据: 第一行为顶点个数N。(N<=100,000) 接下来N行,每行两个整数,表示点集A中的N个点的坐标。 再接下来N行,每行两个整数,表示点集B中的N个点的坐标...原创 2018-04-12 22:08:22 · 1336 阅读 · 0 评论 -
KMP 算法的应用
KMP算法的应用主要体现在Next数组的计算方式上。Next数组含义如下: Next[i] = j, 表示下标 i 之前连续 j 个字符,和字符串开始的连续 j 个字符相同。这会带来很多应用。比如1、POJ 2406:字符串乘方#include <iostream>#include <algorithm>#include <string>#i...原创 2018-07-10 23:59:31 · 1467 阅读 · 0 评论 -
POJ 数据结构与算法A 0407:去除C程序中的注释
http://dsa.openjudge.cn/string/0407/ 直接贴代码,注释说明的很详细。#include <iostream>#include <algorithm>#include <string>#include <cstring>#include <cstdio>#include <vect...原创 2018-07-11 00:39:45 · 1000 阅读 · 0 评论 -
POJ 滑动窗口(优先队列的应用)
数据结构与算法A (第三章 栈与队列 练习题): 滑动窗口思路对于最大最小值分别维护一个优先队列(保存元素下标)。以最小值为例。 每次遇到一个新元素,从队尾插入。插入时删去队列中比该值大的元素。(因为当前值出现的下标较晚,所以以后一定范围窗口的最小值不会超过该值)。队首是当前窗口的最小值。同时要注意维护队首的下标是否在当前窗口内。#include <iostream&g...原创 2018-07-11 13:18:59 · 1715 阅读 · 0 评论 -
POJ 2251:Dungeon Master
http://bailian.openjudge.cn/practice/2251/思路“3D”的BFS,其实就是多个两个搜索的方向。(上下前后左右)#include <iostream>#include <queue>using namespace std;int L, R, C, Find, FindStep;int startx, star...原创 2018-07-07 16:12:43 · 218 阅读 · 0 评论 -
LeetCode | 76. Minimum Window Substring
Given a string S and a string T, find the minimum window in S which will contain all the characters in T in complexity O(n).For example,S = "ADOBECODEBANC"T = "ABC"Minimum window is "BANC".Note: If原创 2017-09-05 13:35:33 · 268 阅读 · 0 评论 -
LeetCode | 72. Edit Distance
Given two words word1 and word2, find the minimum number of steps required to convert word1 to word2. (each operation is counted as 1 step.)You have the following 3 operations permitted on a word:a) In原创 2017-08-06 17:29:21 · 280 阅读 · 0 评论 -
POJ 1001:Exponentiation —— 高精度浮点数运算
总时间限制: 500ms 内存限制: 65536kB 描述 Problems involving the computation of exact values of very large magnitude and precision are common. For example, the computation of the national debt is a taxing experi原创 2017-07-08 11:02:29 · 840 阅读 · 0 评论 -
LeetCode | 68. Text Justification
Given an array of words and a length L, format the text such that each line has exactly L characters and is fully (left and right) justified.You should pack your words in a greedy approach; that is, pa原创 2017-07-31 00:21:19 · 333 阅读 · 0 评论 -
LeetCode | 63. Unique Paths II
Follow up for “Unique Paths”:Now consider if some obstacles are added to the grids. How many unique paths would there be?An obstacle and empty space is marked as 1 and 0 respectively in the grid.For ex原创 2017-07-21 20:28:12 · 314 阅读 · 0 评论 -
LeetCode | 64. Minimum Path Sum
Given a m x n grid filled with non-negative numbers, find a path from top left to bottom right which minimizes the sum of all numbers along its path.Note: You can only move either down or right at any原创 2017-07-21 20:42:41 · 296 阅读 · 0 评论 -
POJ | 4135:月度开销
总时间限制: 1000ms 内存限制: 65536kB 描述 农夫约翰是一个精明的会计师。他意识到自己可能没有足够的钱来维持农场的运转了。他计算出并记录下了接下来 N (1 ≤ N ≤ 100,000) 天里每天需要的开销。约翰打算为连续的M (1 ≤ M ≤ N) 个财政周期创建预算案,原创 2017-07-19 10:56:32 · 3452 阅读 · 0 评论 -
LeetCode | 73. Set Matrix Zeroes
DescriptionGiven a m x n matrix, if an element is 0, set its entire row and column to 0. Do it in place.Solution代码1:空间O(m + n),62 ms AC 将矩阵的0的状态存储在行列两个数组中class Solution {public: void setZeroes(vec原创 2017-08-08 09:56:15 · 551 阅读 · 0 评论