数据结构与算法
文章平均质量分 64
zbxzc
这个作者很懒,什么都没留下…
展开
-
单链表
#ifndef __SINGLE_LIST_H__#define __SINGLE_LIST_H__#include #include #ifdef _DEBUG#define DEBUG_NEW new (_NORMAL_BLOCK, THIS_FILE, __LINE__)#endif#ifdef _DEBUG#define new DEBUG_NEW#undef TH原创 2014-12-06 10:13:49 · 903 阅读 · 0 评论 -
双链表
#ifndef __DOUBLE_LIST_H__#define __DOUBLE_LIST_H__#include #include #ifdef _DEBUG#define DEBUG_NEW new (_NORMAL_BLOCK, THIS_FILE, __LINE__)#endif#ifdef _DEBUG#define new DEBUG_NEW#undef TH原创 2014-12-06 10:17:39 · 626 阅读 · 0 评论 -
树和二叉树
//BiTree.hstruct BiTNode //采用二叉链表存储结构{ char data; struct BiTNode* lchild; struct BiTNode* rchild;}BiTNode;struct BiTNode* CreateBiTree(); int DestroyBiTree(struct BiTNode* T);int visit(原创 2015-05-10 12:03:23 · 462 阅读 · 0 评论 -
判断二叉树是不是平衡二叉树
输入一棵二叉树的根结点,判断该树是不是平衡二叉树。如果某二叉树中任意结点的左右子树的深度相差不超过1,那么它就是一棵平衡二叉树。例如下图中的二叉树就是一棵平衡二叉树:原创 2015-07-08 23:02:07 · 883 阅读 · 0 评论 -
单词统计
单词统计题目描述: 输入一段英文文本,用程序统计出现频率最高和最低的两个单词; 英文文本中仅出现这四类字符:空格( )、英文逗号(,)、英文句号(.)、英文大小写字母(a-z、A-Z) 单词之间的分隔符仅考虑这三种:空格( )、英文逗号(,)、英文句号(.); 仅大小写不同的单词算同一个单词; 如果两个单词出现次数相同,则在文本中首次出现的单词优先返回。 返回的单词统一用小写原创 2015-07-12 13:45:52 · 1175 阅读 · 0 评论 -
链表排序、链表删除、访问倒数第k个节点
1.设一个带头结点的单向链表的头指针为head,设计算法,将链表的记录,按照data域的值递增排序。2.已知线性表中的元素以单链表作存储结构。试写一算法,删除表中所有大于x且小于y的元素(若表中存在这样的元素)同时释放被删除结点空间。3.输出该链表中倒数第k个结点, tail为倒数第0个节点//#include "stdafx.h"#includeusing na原创 2015-07-07 13:12:41 · 1375 阅读 · 0 评论 -
二叉树宽度的计算
二叉树的宽度定义为具有最多结点数的层中包含的结点数,试计算一二叉树的深度。#include "stdafx.h"#include #includeusing namespace std;struct BiNOde{ int ele; BiNOde* lnode; BiNOde* rnode;};vectoraa;int maxdepth = 0;原创 2015-07-15 04:31:20 · 1799 阅读 · 0 评论 -
leetcode 327. Count of Range Sum
Given an integer array nums, return the number of range sums that lie in [lower, upper] inclusive.Range sum S(i, j) is defined as the sum of the elements in nums between indices i and j (i ≤ j), inc原创 2016-01-25 19:47:05 · 1660 阅读 · 0 评论 -
leetcode 233. Number of Digit One
Given an integer n, count the total number of digit 1 appearing in all non-negative integers less than or equal to n.For example:Given n = 13,Return 6, because digit 1 occurred in the follow原创 2016-03-02 17:04:51 · 564 阅读 · 0 评论 -
leetcode 230. Kth Smallest Element in a BST
Given a binary search tree, write a function kthSmallest to find the kth smallest element in it.Note: You may assume k is always valid, 1 ≤ k ≤ BST's total elements.Follow up:What if t原创 2016-03-02 17:50:57 · 449 阅读 · 0 评论 -
leetcode 214. Shortest Palindrome
Given a string S, you are allowed to convert it to a palindrome by adding characters in front of it. Find and return the shortest palindrome you can find by performing this transformation.For ex原创 2016-03-02 23:55:18 · 494 阅读 · 0 评论 -
leetcode 324. Wiggle Sort II
Given an unsorted array nums, reorder it such that nums[0] nums[2] Example:(1) Given nums = [1, 5, 1, 1, 6, 4], one possible answer is [1, 4, 1, 5, 1, 6]. (2) Given nums = [1, 3, 2, 2, 3, 1原创 2016-03-03 11:38:24 · 833 阅读 · 0 评论 -
leetcode 221. Maximal Square
Given a 2D binary matrix filled with 0's and 1's, find the largest square containing all 1's and return its area.For example, given the following matrix:1 0 1 0 01 0 1 1 11 1 1 1 11 0 0 1 0原创 2016-03-03 14:27:04 · 500 阅读 · 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:原创 2016-03-15 21:34:09 · 523 阅读 · 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 i原创 2016-03-15 23:14:08 · 315 阅读 · 0 评论 -
leetcode 335. Self Crossing
You are given an array x of n positive numbers. You start at point (0,0) and moves x[0] metres to the north, then x[1] metres to the west, x[2] metres to the south, x[3] metres to the east and s原创 2016-03-04 09:48:00 · 1035 阅读 · 0 评论 -
leetcode 331. Verify Preorder Serialization of a Binary Tree
One way to serialize a binary tree is to use pre-order traversal. When we encounter a non-null node, we record the node's value. If it is a null node, we record using a sentinel value such as #.原创 2016-03-04 11:36:19 · 737 阅读 · 0 评论 -
leetcode 240. Search a 2D Matrix II
Write an efficient algorithm that searches for a value in an m x n matrix. This matrix has the following properties:Integers in each row are sorted in ascending from left to right.Integers in原创 2016-03-03 18:47:37 · 508 阅读 · 0 评论 -
leetcode 239. Sliding Window Maximum
Given an array nums, there is a sliding window of size k which is moving from the very left of the array to the very right. You can only see the k numbers in the window. Each time the sliding window m原创 2016-03-04 13:28:44 · 399 阅读 · 0 评论 -
leetcode 209. Minimum Size Subarray Sum
Given an array of n positive integers and a positive integer s, find the minimal length of a subarray of which the sum ≥ s. If there isn't one, return 0 instead.For example, given the array [2,3原创 2016-03-04 15:06:47 · 469 阅读 · 0 评论 -
leetcode 216. Combination Sum III
class Solution { void do_once(int k,int n, map, int>&candi) { map, int>newcandi; for (map, int>::iterator it = candi.begin(); it != candi.end(); it++) { if (k == 1) { if (n - it->sec原创 2016-03-16 20:01:03 · 440 阅读 · 0 评论 -
leetcode 3. Longest Substring Without Repeating Characters
Given a string, find the length of the longest substring without repeating characters. For example, the longest substring without repeating letters for "abcabcbb" is "abc", which the length is 3. Fo原创 2016-03-29 13:52:41 · 330 阅读 · 0 评论 -
leetcode 199. Binary Tree Right Side View
Given a binary tree, imagine yourself standing on the right side of it, return the values of the nodes you can see ordered from top to bottom.For example:Given the following binary tree, 1原创 2016-03-04 16:05:48 · 425 阅读 · 0 评论 -
leetcode 43. Multiply Strings
Given two numbers represented as strings, return multiplication of the numbers as a string.Note: The numbers can be arbitrarily large and are non-negative.class Solution {public: string原创 2016-03-30 00:07:23 · 398 阅读 · 0 评论 -
leetcode 150. Evaluate Reverse Polish Notation
Evaluate the value of an arithmetic expression in Reverse Polish Notation.Valid operators are +, -, *, /. Each operand may be an integer or another expression.Some examples: ["2", "1",原创 2016-03-30 00:07:36 · 377 阅读 · 0 评论 -
leetcode 42. Trapping Rain Water
Given n non-negative integers representing an elevation map where the width of each bar is 1, compute how much water it is able to trap after raining.For example, Given [0,1,0,2,1,0,1,3,2,1,2,1]原创 2016-03-30 11:46:13 · 398 阅读 · 0 评论 -
leetcode 166. Fraction to Recurring Decimal
Given two integers representing the numerator and denominator of a fraction, return the fraction in string format.If the fractional part is repeating, enclose the repeating part in parentheses.原创 2016-03-06 21:23:25 · 429 阅读 · 0 评论 -
leetcode 18. 4Sum
Given an array S of n integers, are there elements a, b, c, and d in S such that a + b + c + d = target? Find all unique quadruplets in the array which gives the sum of target.Note:Element原创 2016-03-18 15:43:21 · 491 阅读 · 0 评论 -
leetcode 16. 3Sum Closest
Given an array S of n integers, find three integers in S such that the sum is closest to a given number, target. Return the sum of the three integers. You may assume that each input would have exact原创 2016-03-18 23:06:33 · 525 阅读 · 0 评论 -
leetcode 39. Combination Sum
Given a set of candidate numbers (C) 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 unlimited numb原创 2016-03-19 00:55:19 · 411 阅读 · 0 评论 -
leetcode 152. Maximum Product Subarray
Find the contiguous subarray within an array (containing at least one number) which has the largest product.For example, given the array [2,3,-2,4],the contiguous subarray [2,3] has the larges原创 2016-03-07 23:00:23 · 448 阅读 · 0 评论 -
leetcode 224. Basic Calculator
Implement a basic calculator to evaluate a simple expression string.The expression string may contain open ( and closing parentheses ), the plus + or minus sign -, non-negative integers and em原创 2016-03-31 11:43:32 · 402 阅读 · 0 评论 -
leetcode 227. Basic Calculator II
Implement a basic calculator to evaluate a simple expression string.The expression string contains only non-negative integers, +, -, *, / operators and empty spaces . The integer division should原创 2016-03-31 14:07:40 · 381 阅读 · 0 评论 -
leetcode 40. Combination Sum II
Given a collection of candidate numbers (C) and a target number (T), find all unique combinations in C where the candidate numbers sums to T.Each number in C may only be used once in the combina原创 2016-03-19 10:55:08 · 276 阅读 · 0 评论 -
leetcode 69. Sqrt(x)
Implement int sqrt(int x).Compute and return the square root of x.int mySqrt(int x){ if (x == 0) return 0; long long int xx = x; long long int up = xx; long long int down = 0; whil原创 2016-03-14 13:52:20 · 452 阅读 · 0 评论 -
leetcode 129. Sum Root to Leaf Numbers
Given a binary tree containing digits from 0-9 only, each root-to-leaf path could represent a number.An example is the root-to-leaf path 1->2->3 which represents the number 123.Find the tota原创 2016-03-19 12:30:17 · 349 阅读 · 0 评论 -
leetcode 121. Best Time to Buy and Sell Stock
Say you have an array for which the ith element is the price of a given stock on day i.If you were only permitted to complete at most one transaction (ie, buy one and sell one share of the stock),原创 2016-03-31 15:42:41 · 373 阅读 · 0 评论 -
leetcode 122. Best Time to Buy and Sell Stock II
Say you have an array for which the ith element is the price of a given stock on day i.Design an algorithm to find the maximum profit. You may complete as many transactions as you like (ie, buy on原创 2016-03-31 16:20:00 · 345 阅读 · 0 评论 -
leetcode 139. Word Break
Given a string s and a dictionary of words dict, determine if s can be segmented into a space-separated sequence of one or more dictionary words.For example, givens = "leetcode",dict = ["lee原创 2016-03-08 13:37:38 · 510 阅读 · 0 评论 -
leetcode 275. H-Index II
What if the citations array is sorted in ascending order? Could you optimize your algorithm?int hIndex(int* citations, int citationsSize) { if (citations == NULL || citationsSize == 0)原创 2016-03-31 20:26:22 · 445 阅读 · 0 评论