达则兼济天下,穷则独善其身。
能力说明:
了解变量作用域、Java类的结构,能够创建带main方法可执行的java应用,从命令行运行java程序;能够使用Java基本数据类型、运算符和控制结构、数组、循环结构书写和运行简单的Java程序。
暂时未有相关云产品技术能力~
阿里云技能认证
详细说明Design and implement a data structure for Least Recently Used (LRU) cache. It should support the following operations: get and set. get(key) - Get the value (will always be positive) of th
问题一:使用unordered_map错误 问题描述 包含头文件#include <unordered_map>后编译器报错,错误信息为: This file requires compiler and library support for the \ISO C++ 2011 standard. This support is currently e
Sort a linked list using insertion sort. 解题思路 对于得到结点current的插入位置,从头结点开始遍历,直到遍历到值大于等于节点current的结点,然后将从该结点到current的前驱结点的所有结点的值依次和current结点的值交换,从而达到将该节点插入所遍历到的位置的目的。 实现代码 /****************
Sort a linked list in O(n log n) time using constant space complexity. 解题思路 可以利用归并排序解决该问题。普通的归并排序算法时间复杂度为O(nlogn),空间复杂度为O(n),因为需要建立两个数组来存储原来数组的值,这两个数组的长度加起来恰好为原数组的长度。但是对于链表可以省去复制两个已经排好序的
排序算法可以分为内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。 常见的内部排序算法有:插入排序、希尔排序、选择排序、冒泡排序、归并排序、快速排序、堆排序、基数排序等。 算法一:插入排序 插入排序是一种最简单直观的排序算法,它的工作原理是通过构建有序序列,对于未排序数据,
本学习笔记所使用的Code::Blocks版本是13.12。 安装 下载安装文件 双击下载文件codeblocks-13.12mingw-setup-TDM-GCC-481进行安装,选择默认设置即可 创建项目 点击File-New-Project 选择Console application,点击”Go” 点击“Next” 点击“Next” 填写创
Given n points on a 2D plane, find the maximum number of points that lie on the same straight line. 解题思路 若两个点共线,则有如下情况: 两个点重合 两个点的x坐标相同(斜率无穷大) 两个点的斜率相同 y1 = k * x1 + b; y2 = k * x2
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",
Given an input string, reverse the string word by word. For example, Given s = "the sky is blue", return "blue is sky the". Clarification: 1.What constitutes a word? A sequence of non
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
Follow up for “Find Minimum in Rotated Sorted Array”: What if duplicates are allowed? Would this affect the run-time complexity? How and why? Suppose a sorted array is rotated at some pi
Suppose a sorted array 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). Find the minimum element. You may assume no duplicate exists
Design a stack that supports push, pop, top, and retrieving the minimum element in constant time. push(x) – Push element x onto stack. pop() – Removes the element on top of the stack. top(
Write a program to find the node at which the intersection of two singly linked lists begins. For example, the following two linked lists: begin to intersect at node c1. 解题思路 首先把两个链表
All DNA is composed of a series of nucleotides abbreviated as A, C, G, and T, for example: “ACGAATTCCG”. When studying DNA, it is sometimes useful to identify repeated sequences within the
Implement atoi to convert a string to an integer. Hint: Carefully consider all possible input cases. If you want a challenge, please do not see below and ask yourself what are the possible
A peak element is an element that is greater than its neighbors. Given an input array where num[i] ≠ num[i+1], find a peak element and return its index. The array may contain multiple pea
Given an unsorted array, find the maximum difference between the successive elements in its sorted form. Try to solve it in linear time/space. Return 0 if the array contains less than 2 e
Compare two version numbers version1 and version2. If version1 > version2 return 1, if version1 < version2 return -1, otherwise return 0. You may assume that the version strings are
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 parenthes
Given an array of size n, find the majority element. The majority element is the element that appears more than ⌊ n/2 ⌋ times. You may assume that the array is non-empty and the majority el
Given an integer n, return the number of trailing zeroes in n!. Note: Your solution should be in logarithmic time complexity. 解题思路:只有因子2和因子5相乘会产生10,同时因为因子2的数量大于因子5的数量,所以只需看序列中因子5的个数。它可以通过n
Given a positive integer, return its corresponding column title as appear in an Excel sheet. For example: 1 -> A 2 -> B 3 -> C ... 26 -> Z 27 -> AA
Related to question Excel Sheet Column Title Given a column title as appear in an Excel sheet, return its corresponding column number. For example: A -> 1 B -> 2 C -&g
Given a list of non negative integers, arrange them such that they form the largest number. For example, given [3, 30, 34, 5, 9], the largest formed number is 9534330. Note: The result may
Given an array of integers, find two numbers such that they add up to a specific target number. The function twoSum should return indices of the two numbers such that they add up to the targe
一个字符串中含有n个字符,其中有m个不同的字符,n>>m,用最少的时间和空间找到包含所有这m个字符的最短的字串,不考虑特殊字符,只考虑字母数字即可。例如: abccbaddac,返回:cbad aabcadbbbcca,返回:bcad 实现代码: #include <iostream> using namespace std; void Search(cha
“在这个图片里我们有不同高度的墙。这个图片由一个整数数组所代表,数组中每个数是墙的高度。上边的图可以表示为数组[2,5,1,2,3,4,7,7,6]” “假如开始下雨了,那么墙之间的水坑能够装多少水呢?” 解决思路: 1 初始化左指针为元素0的值,初始化右指针为元素size-1的值。 2 如果(左指针找到的左指针以左的最大值)小于(右指针找到右指针以右的最大值),将左指针向右移
C#本身也带有读取XML文件的类,但是许久未曾接触C#了,为了练练手,自己写了一个具有简单功能的类,实现了读取xml文件,查找元素,插入结点等功能。实现如下: XmlDoc类 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.IO; na
1 基本术语 有向图:图中的每条边都有方向的图叫有向图。此时,边的两个顶点有次序关系,有向边<u,v>成为从顶点u到顶点v的一条弧,u成为弧尾(始点),v成为弧头(终点),即有向图中弧<u,v>和弧<v,u>表示不同的两条边。 无向图:图中的每条边没有方向的图。边的两个顶点没有次序关系,无向图用边(u,v)表示对称弧<u,v>和<
给你10分钟时间,根据上排给出十个数,在其下排填出对应的十个数 要求下排每个数都是先前上排那十个数在下排出现的次数。 上排的十个数如下: 【0,1,2,3,4,5,6,7,8,9】 举一个例子, 数值: 【 0,1,2,3,4,5,6,7,8,9 】 分配: 【 6,2,1,0,0,0,1,0,0,0 】 0在下排出现了6次, 1在下排出现了2次, 2在下排出现了
1 基本概念 赫夫曼树(Huffman Tree)又称为最优树,是一类带权路径长度最短的树。本文仅讨论最优二叉树。 树的路径长度是指从树根到树中其余各个结点的路径长度之和。对具有n个结点的二叉树而言,完全二叉树具有最短的树的路径长度。 若在二叉树中,树叶结点带有权值,则有:结点的带权路径长度定义为从树根到该结点之间的路径长度与该结点上所带权值之积。 若树中有n个树叶结点,且每个
1 算数表达式求值 三种遍历方式 ①先序遍历次序(前缀式):+ * 3 - 6 2 / 8 2 ②中序遍历方式(中缀式):3 * 6 - 2 + 8 / 2 ③后序遍历方式(后缀式):3 6 2 - * 8 2 / + 由表达式的三种标识方法,可得到如下结论: ①操作数之间的相对次序不变 ②运算符的相对次序不同 ③中缀式丢失了括号信息,致使运算的次序不确定 ④前缀式的
1 基本定义 ①二叉树是n(n>=0)个结点的有限集,当n=0时,二叉树为空。当n>0时,二叉树是由一个根节点及至多两颗子树组成,且左右子树都是二叉树。 不同于树,二叉树中的结点要区分左子树和右子树,即使只有一颗子树,左单子树不同于右单子树。 ②树的一些基本术语: 结点:包含了数据元素及若干个指向其子树的分支。 结点的度:结点的子树数目或分支个数。 树的度:在
1 队列是一种只允许在表的一端插入元素,在另一端删除元素的特殊的线性表。允许插入的一端成为队尾(rear),允许删除的一端成为队头(front)。当队列中没有任何元素时成为空队列。队列是一种先进先出的线性表,简称FIFO表。 2 与栈类似,队列也是一种操作受限的特殊的线性表,同样可以采用顺序存储结构和链式存储结构来表示队列。 3 队列的顺序存储表示——循环队列 队列的顺序存储表示同样
1 栈具有后进先出(LIFO)的操作特点,是操作受限的线性表。栈的存储有顺序栈和链栈两种。 2 在顺序存储方式下,采用一维数组(即向量)来模拟连续的存储空间。通常将0下表作为栈底,栈的第一个元素(即栈底元素)存放在0下表位置。顺序栈的实现: //SqStack.h #ifndef _SQSTACK_ #define _SQSTACK_ template<class T> c
1 线性表的特性是数据元素之间在逻辑结构上存在着线性关系,在计算机中表示这种关系的两类不同的存储结构是顺序存储结构和链式存储结构。用前者表示的线性表简称为顺序表,用后者表示的线性表简称为链表。 2 当线性表的长度n=0时,为一个空表。当n>0时,序列中必存在唯一的一个“第一个元素”,也必存在唯一的一个“最后一个元素”。除第一个元素外,每一个元素均有唯一的前驱;除最后一个元素外,
一、Landsat Landsat主题成像仪 (TM)是Landsat4和Landsat5 携带的传感器,从1982年发射至今,其工作状态良好,几乎实现了连续的获得地球影像。Landsat4和Landsat5每16 天扫瞄同一地区,即其16天覆盖全球一次。Landsat4,5TM影像包含7个波段,波段1-5和波段7的空间分辨率为30米,波段6热红外波段的空间分辨率为120米。南北的扫描范
《软件测试的艺术》学习笔记 第一章 一次自评价测试 软件测试就是一个过程或者一系列过程,用来确认计算机代码完成了其应该完成的功能,不执行其不该有的操作。 第二章 软件测试的心理学和经济学 1 软件测试更适宜被称为试图发现程序中的错误(假设其存在)的破坏性的过程。 2 黑盒测试:一种重要的测试策略,又称为数据驱动的测试或输入/输出驱动的测试。使用这种测试方法时,将程序视为一
转自:http://blog.csdn.net/zerolsy/article/details/2123637 一、事务概念 事务是一种机制、是一种操作序列,它包含了一组数据库操作命令,这组命令要么全部执行,要么全部不执行。因此事务是一个不可分割的工作逻辑单元。在数据库系统上执行并发操作时事务是作为最小的控制单元来使用的。这特别适用于多用户同时操作的数据通信系统。例如:
转自:http://www.cnblogs.com/360S/archive/2011/06/10/2078035.html 一﹕ 触发器是一种特殊的存储过程﹐它不能被显式地调用﹐而是在往表中插入记录﹑更新记录或者删除记录时被自动地激活。所以触发器可以用来实现对表实施复杂的完整性约束。 二﹕ SQL Server为每个触发器都创建了两个专用表﹕Inserted表和Delet
转自:http://www.cnblogs.com/hoojo/archive/2011/07/19/2110862.html Transact-SQL中的存储过程,非常类似于Java语言中的方法,它可以重复调用。当存储过程执行一次后,可以将语句缓存中,这样下次执行的时候直接使用缓存中的语句。这样就可以提高存储过程的性能。 Ø 存储过程的概念 存储过程Proc
错误提示: 消息 8120,级别 16,状态 1,第 2 行 选择列表中的列 'Qiu.dbo.students.name' 无效,因为该列没有包含在聚合函数或 GROUP BY 子句中。 解决方案: 如果 SELECT 子句 <select list> 中包含聚合函数,则 GROUP BY 将计算每个组的汇总值。指定 GROUP BY 时,选择列表中任何非聚合表达式内
《SQL Server从入门到精通》学习笔记 1 数据管理技术的三个阶段:人工管理、文件系统、数据库系统。 2 数据库的组成:数据库、数据库管理系统、数据库管理员、硬件平台、软件平台5部分。 3 数据库的三级模式:内模式、模式、外模式。 4 三级模式之间的映射:外模式/模式,模式/内模式。 5 常用的数据库数据模型:层次模型、网状模型、关系模型。 6 关系数据库的规范化: (
1 输入一串字符串,其中有普通的字符与括号组成(包括’(’、’)’、’[',']‘),要求验证括号是否匹配,如果匹配则输出0、否则输出1. #include <iostream> using namespace std; int verify(char* ch); void main() { char* ch = "((([])))[]"; cout<<ver
字符串的定义方式有两种,直接先上代码: 第一种: char num[20] = "hello"; *num = '0'; //可行 num[1] = '0'; //可行 cout<<num<<endl;</span> 第二种: char* num = "hello"; *num = '0'; //错误 num[1
1 数组中数字都两两相同,只有一个不同,找出该数字 #include <iostream> using namespace std; int findUnique(int* a, int len); int findUnique2(int* a, int len); void main() { int a[] = {1,2,5,3,3,2,1}; int b = fi
1 求两个长长整型的数据的和并输出#include <iostream> using namespace std; void main() { char num1[50]; char num2[50]; cin.getline(num1,50); cin.getline(num2,50); int len1 = strlen(num1); int len2 = s
acedGetInt函数暂停程序执行,等待用户输入一个整数。该函数定义为: int acedGetInt(const char * prompt, int * result); prompt用于指定显示在命令窗口中的字符串,如果不需要使用可以指定NULL作为该参数的值。 acedGetReal函数暂停程序执行,等待用户输入一个实数。 acedGetString函数暂停程序执行,等待
一、身份证号码验证题目描述:我国公民的身份证号码特点如下:1、 长度为18位;2、 第1~17位只能为数字;3、 第18位可以是数字或者小写英文字母x。4、 身份证号码的第7~14位表示持有人生日的年、月、日信息。例如:511 002 1988 08 08 0111或51100219880808011x。请实现身份证号码合法性判断的函数。除满足以上要求外,需要对持有人生日的年、月、日信息进