自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(78)
  • 资源 (2)
  • 收藏
  • 关注

原创 C#MySQL数据库对Pro/e,cad文件的存储与读取

C#MySQL数据库对Pro/e,cad文件的存储与读取其中MySQL数据库的设计如下图所示:类实现如下:using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Data;using System.Collec

2015-05-16 17:14:23 661

原创 VS2012(C++ MFC 环境下)调用MATLAB 2013 自定义函数(.m 文件)

VS2012(C++ MFC 环境下)调用MATLAB 2013 自定义函数(.m 文件)

2015-05-16 16:47:20 2891

原创 Java线程:线程的同步与锁

Java线程:线程的同步与锁   一、同步问题提出 线程的同步是为了防止多个线程访问一个数据对象时,对数据造成的破坏。例如:两个线程ThreadA、ThreadB都操作同一个对象Foo对象,并修改Foo对象上的数据。 public class Foo {     private int x = 100;  

2015-09-16 16:36:12 433 2

原创 剑指offer面试题41——和为S的两个数字VS和为S的连续正数序列

题目要求:输入一个一个递增排序的数组和一个数字S,在数组中查找两个数,使得它们的和正好是S,如果有多对数字的和等于S,输出任意一对即可。例如输入数组{1,2,4,7,11,15}和数字15,由于4+11=15,因此输出为4和11解题思路:首先,我们会想到在数组中固定一个数字,再一次判断数组中其余n-1个数字与它的和是不是等于S。不过这个方法的时间复杂度为O(n^2),会不会

2015-09-03 22:15:53 345

原创 剑指offer面试题31——连续子数组的最大和

题目要求:输入一个整型数组,数组里有正数也有负数。数组中一个或连续的多个整数组成一个子树组。求所有子数组的和的最大值。要求时间复杂度为O(n)。例如输入的数组为{1,-2,3,10,-4,7,2,-5},和最大的子数组为{3,10,-4,7,2,},因此输出为该子数组的和18思路分析:我们试着从头到尾逐个累加示例数组中的每个数字。初始化和为0。第一步加上第一个数字1,此时和

2015-09-01 12:01:34 574

原创 剑指offer面试题28——字符串排序

题目要求:输入一个字符串,打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出字符a、b、c所能排列出来的所有字符串abc、acb、bac、bca、cab和cba解题思路:我们求整个字符串的排列,可以看成两步,首先求可能出现在第一个位置上的字符,即把第一个字符和后面所有的字符交换。第二步固定一个字符,求后面所有字符的全排列。这是一个递归的思想。程序代码(J

2015-08-31 15:31:30 480

原创 Eclipse中XML注释快捷键

eclipse中编辑java或C/C++文件时,注释的快捷键均为 "CTRL + / ",编辑xml文件时,该快捷键无效。eclipse XML 注释:CTRL + SHIFT + /撤销注释:CTRL + SHIFT + \傻傻的手动输入好几个月了,偶然google下,真有这个快捷键……

2015-08-28 22:03:06 586

原创 There is no Action mapped for namespace [/user] and action name [user!add] associated with context p

使用struts2.3进行动态方法调用时出现:There is no Action mapped for namespace [/user] and action name [user!add] associated with context path错误,原因是(1)DMI可能导致安全问题(2)DMI与通配符方法功能有重叠,因此该版本Struts2默认关闭DMI,需要在struts.

2015-08-25 21:29:53 656

原创 剑指offer面试题16——反转链表

题目描述:定义一个函数,输入一个链表的头结点,反转该链表并输出反转后链表的头结点。链表节点定义如下:public class ListNode{ int val; ListNode next; ListNode(int x) { val=x; }}示意图:分析:为了正确反转一个链表,需要调整链表中指针的方向,为了将调整指

2015-08-25 17:57:50 592

原创 剑指offer面试题15——链表中倒数第K个节点

题目:输入一个链表,输出该链表中倒数第K个结点,为了符合大多数人的习惯,本题从1开始计数,即链表的尾结点是倒数第1个结点。例如一个链表有6个结点,从头结点开始它们的值依次是1、2、3、4、5、6。这个链表的倒数第3个结点的值为4的节点。链表结点的定义如下:public class ListNode{ int val; ListNode next; ListNode(int x)

2015-08-25 15:52:19 499

原创 剑指offer面试题13——在O(1)删除链表节点

题目要求:给定单向链表的头指针和一个节点指针,定义一个函数在O(1)时间删除该节点。其中,链表节点与函数的定义如下:package offer;public class ListNode{ int val; ListNode next; ListNode(int x) { val=x; }}分析:在单向链表中删除一个节点,最常规的做法无疑是从链表的头结点开始,顺序遍历

2015-08-24 20:29:30 503

原创 交换排序(冒泡排序、快速排序)——Java

交换排序(1)冒泡排序  1、基本思想:在要排序的一组数中,对当前还未排好序的范围内的全部数,自上而下对相邻的两个数依次进行比较和调整,让较大的数往下沉,较小的往上冒。即:每当两相邻的数比较后发现它们的排序与排序要求相反时,就将它们互换。  2、实例  3、java实现 public static void main(String[] args)

2015-08-21 15:58:37 537

原创 选择排序(直接选择排序、堆排序)——Java

选择排序思想:每趟从待排序的记录序列中选择关键字最小的记录放置到已排序表的最前位置,直到全部排完。关键问题:在剩余的待排序记录序列中找到最小关键码记录。方法:–直接选择排序–堆排序(1)简单的选择排序  1、基本思想:在要排序的一组数中,选出最小的一个数与第一个位置的数交换;然后在剩下的数当中再找最小的与第二个位置的数交换,如此循环到倒数第二个数

2015-08-21 15:18:15 460

原创 插入排序(直接插入、二分法插入、希尔排序)——Java

一、插入排序思想:每步将一个待排序的记录,按其顺序码大小插入到前面已经排序的字序列的合适位置,直到全部插入排序完为止。关键问题:在前面已经排好序的序列中找到合适的插入位置。方法:–直接插入排序–二分插入排序–希尔排序(1)直接插入排序(从后向前找到合适位置后插入)  1、基本思想:每步将一个待排序的记录,按其顺序码大小

2015-08-20 17:20:38 1063

原创 二分法查找——Java

首先介绍一下什么是二分法查找。顾名思义二分法即多次将待查数组的长度折半,但前提条件时待查找数组中的数据需要是已经排序好了的数据。主要思想:对于待查找数组arr[low,high],其中high=arr.length-1,待查找元素des(1)确定数组中间位置mid=(low+high)/2(2)将查找值des与arr[mid]进行比较,若相等,则直接返回该位置;否则确定新的查找位置,继续二分查找。区域确定如下:如果arr[mid]>des由数组的有序性可知arr[mid,mid+1.......

2015-08-20 11:35:37 352

原创 二叉搜索树(搜索、添加、遍历)——Java

栈、队列、链表都有他们各自的好处,同样的也有弊端的存在。 如果我想要一个有序的数组和链表这个当然很好实现。现在我要在这几个数据结构中查找一个值。先说数组,因为是有序的通过二分查找很快的就可以找到。查找的效率还是很高的,但如果要是插入呢,为了保证有序,我要先找到插入位置,然后再将比插入数字大的数字依次向后移动;这时的第一反应就是链表!他打插入速度很快,只要改变指针的指向就可以了。但是链表大查找要从头开始找啊。只有知道了前一个元素的地址才能知道下一个地址。所以链表查找起来又费劲了。这时候就有人引进了

2015-08-20 11:20:10 739

原创 2015华为机试—— 计算二进制数的0的个数

描述: 输入一个10进制数字,请计算该数字对应二进制中0的个数,注意左数第一个1之前的所有0都不需要计算。不需要考虑负数的情况。解题思路: 对于给定的数n,使用位运算:n=n&(n-1)可计算出对应二进制中1的个数,为count1。将input=n,input=input>>1逐个获取input中1的个数,为count2,如果input&1==1,则此时对应位上为0,记数t加1操作,当count1=count2时,循环终止,此时可获得t,即为0个个数,具体实现看下面代码。

2015-07-17 10:41:07 995

原创 2015华为机试——最大公约数

描述: 输入2个数字,最后输出2个数字的最大公约数 题目类别: 位运算 难度: 初级 运行时间限制: 无限制内存限制: 无限制阶段: 入职前练习 输入: 2个整数 输出: 输出数字1和2的最大公约数 样例输入: 2 3 样例输出:1

2015-07-17 10:39:23 795

原创 2015华为机试——将字符串中不同字符的个数打印出来

描述: 找出字符串中,不同的字符的个数。 题目类别: 字符串 难度: 初级 运行时间限制: 无限制内存限制: 无限制阶段: 入职前练习 输入: 输入一个字符串,'\0'作为字符串结束符。 输出: 输出字符串中不同字符的个数。 样例输入: 122345 样例输出: 5

2015-07-17 10:36:45 784

原创 2015华为机试——合唱队

描述: 计算最少出列多少位同学,使得剩下的同学排成合唱队形说明:N位同学站成一排,音乐老师要请其中的(N-K)位同学出列,使得剩下的K位同学排成合唱队形。 合唱队形是指这样的一种队形:设K位同学从左到右依次编号为1,2…,K,他们的身高分别为T1,T2,…,TK, 则他们的身高满足存在i(1<=i<=K)使得Ti<T2<......<Ti-1<Ti>Ti+1>......>TK。 你的任务是,已知所有N位同学的身高,计算最少需要几位同学出列,可以使得剩下的同学排成合唱队形。

2015-07-17 10:34:58 919

原创 2015华为机试——最高分是多少

题目描述: 老师想知道从某某同学到某某同学当中,分数最高的是多少。现在请你编程模拟老师的询问。当然,老师有时候需要更新某位同学的成绩。 题目类别: 排序 难度: 初级 运行时间限制: 无限制内存限制: 无限制阶段: 入职前练习 输入: 输入包含多组测试数据。每组输入第一行是两个正整数N和M(0<N<=30000,0<M<5000),分表代表学生的数目和操作的数目。学生ID编号从1编到N。第二行包含N个整数,代表这N个学生的初始成绩,其中第i个数代表ID为i的学生的成绩。接

2015-07-17 10:27:29 2150

原创 2015华为机试—— 字符变换

题目描述: 输入一个字符串,将其中大写字母转换为对应小写字母之后的第五个字母,若原始大写字母为V~Z, 则转换为对应小写字母的值减21。其他字符不变,输出转换后的字符串。 例如,对于字母A,则转换为小写字母f;若形参是字母W,则转换为小写字母b。输入:字符串输出:转换后的字符串样例输入:Axs3mWss样例输出:fxs3mbss

2015-07-14 10:23:50 784

原创 2015华为机试——尼科彻斯定理

题目描述:验证尼科彻斯定理,即:任何一个整数m的立方都可以写成m个连续奇数之和。m属于[1,100],超出范围则报错。例如:1^3=12^3=3+53^3=7+9+114^3=13+15+17+19解题思路:不难发现展开式从(n*n - n + 1)开始,步进2显示,共显示n个数。

2015-07-14 10:21:01 734

原创 2015华为机试——找零钱

题目描述: 我们知道人民币有1、2、5、10、20、50、100这几种面值。现在给你n(1≤n≤250)元,让你计算换成用上面这些面额表示且总数不超过100张,共有几种。比如4元,能用4张1元、2张1元和1张2元、2张2元,三种表示方法。

2015-07-14 10:17:32 1269

原创 2015华为机试——整数分割

解题思路: 对于奇数 n = 2k+1, 它的拆分的第一项一定是1, 考虑去掉这个1,其实就一一对应于2k的拆分,因此f(2k+1) = f(2k)。对于偶数n = 2k: 考虑有1和没有1的拆分。有1的拆分,与(2k-1)的拆分一一对应,与上面奇数的情况理由相同:没有1的拆分,将每项除以2,正好一一对应于k的所有拆分,因此f(2k) = f(2k-1) + f(k)。最终结果只要求除以十亿的余数,在int的表示范围内,因此也不需要大数运算。注意余数的性质:(a+b)%m = (a%m+b%m)%m

2015-07-14 10:13:53 712

原创 2015华为机试——数字基root

题目描述: 求整数的Root:给定正整数,求每位数字之和;如果和不是一位数,则重复;输入:输入任意一个或多个整数输出:输出各位数字之和,直到和为个位数为止(输入异常,则返回-1),多行,每行对应一个输入数据的结果。样例输入: 25 865样例输出: 7 1解题思路:对于给定的数n,使用n%10来分离n获得各个位上的数,然后进行相加,如果和大于10,继续分离,继续求和,直到和小于10.

2015-07-14 10:08:46 726 1

原创 2015华为机试——报数

题目描述: 有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出,问最后留下的那位是原来第几号。解题思路: 用list存储姓名,看谁剩到最后一个.在list长度遍历一次,如果是3的倍数则退出,同时记录队尾报数,然后再以现在的list报数,以此类推。

2015-07-13 10:05:06 885

原创 2015华为机试——计算整数的位数

题目描述: 输入一个五位以内(包括5位)的正整数,(1)判断它是一个几位数;(2)逆序输出其各位数字。 输入:多组数据,每组一行 输出:对应一行输出 样例输入:56439 样例输出:5 93465解题思路:使用StringBuffer的reverse方法即可。

2015-07-13 10:00:30 794 1

原创 2015华为机试—— Redraiment的遭遇

Redraiment的老家住在工业区,日耗电量非常大。是政府的眼中钉肉中刺,但又没办法,这里头住的可都是纳税大户呀。 今年7月,又传来了不幸的消息,政府要在7、8月对该区进行拉闸限电。但迫于压力,限电制度规则不会太抠门,政府决定从7月1日停电,然后隔一天到7月3日再停电,再隔两天到7月6日停电,一次下去,每次都比上一次晚一天。 Redraiment可是软件专业的学生,怎么离得开计算机。如果停电,就“英雄无用武之地”了。呵呵。 所以他开始盘算起自己回家的日子了,他想知道自己到家后到底要经历多少天倒霉的停电。你

2015-07-13 09:54:49 762 1

原创 2015华为机试——计算两个正整数的最大公约数和最小公倍数

设两数为a、b(a>b),求a和b最大公约数(a,b)的步骤如下:用a除以b,得a÷b=q......r1(0≤r1)。若r1=0,则(a,b)=b;若r1≠0,则再用b除以r1,得b÷r1=q......r2 (0≤r2).若r2=0,则(a,b)=r1,若r2≠0,则继续用r1除r2,……如此下去,直到能整除为止。其最后一个为被除数的余数的除数即为(a, b)。例如:a=25,b=15,a/b=1......10,b/10=1......5,10/5=2.......0,最后一个为被除数余数的除数就是

2015-07-13 09:49:58 836

原创 2015华为机试——小明的筷子

题目描述:小明是个马大哈,某天他到超市买了若干双筷子(n<20)筷子的长度不尽相同,他把全部筷子都放在购物袋里面拿回家,路上不小心漏了一根请你用程序帮他找出是漏掉的筷子是多长的。输入: 剩下的筷子数组,如:1, 2, 3, 2, 1, 3, 2返回值:漏掉的筷子长度,如上述输入返回:2(当输入的筷子数据异常时返回-1,如:找不到漏掉的筷子)解题思路:使用HashMap对筷子的种类与数量进行键值对匹配存储,当出现重复筷子时,对应的筷子数量+1,然后遍历一次HashMap,获取筷子的数量,

2015-07-13 09:44:30 1304

原创 2015华为机试——求n!尾巴上含有0的个数

解题思路: 这题之前在leetcode中做过,如果先对n进行阶乘运算,然后%10求0的个数。但是n!很有可能溢出,所以需要找到它的等效方法,0的个数即为10的个数,即为5于2的个数,显然在n!中,2的个数要大于5的个数,因此只要算出n范围内有多少个5就OK

2015-07-09 10:10:10 1495

原创 2015华为机试—— 有效数字

题目背景判断字符串是否是有效数字,是则返回0,不是则返回-1 接口int NumType(String s) 举例例如:输入的字符串是123.456,返回0 输入123a,返回-1 输入123.456d,返回0解题思路:直接使用double类型的静态方法

2015-07-09 10:03:10 704 1

原创 2015华为机试—— 输入整型数组和排序标识,对其元素按照升序或降序进行排序

接口说明原型:void sortIntegerArray(Integer[] pIntegerArray, int iSortFlag);输入参数:    Integer[] pIntegerArray:整型数组int  iSortFlag:排序标识:0表示按升序,1表示按降序输出参数:    无返回值:    void

2015-07-09 10:00:46 1207

原创 2015华为机试—— 整型数排序

需求:1、对输入的整型数序列A,完成升序排列,将结果序列从B中输出。以整数值大小为关键字排序,即小数在前,大数在后。2、当序列中存在多个同样大小的数时,输出序列中仅保留一个。

2015-07-09 09:55:39 1106 1

原创 2015华为机试—— 整型数排序

要求:请实现对一整型数序列的排序操作。需求:1、对输入的整型数序列A,完成升序排列,将结果序列从B中输出。以整数值大小为关键字排序,即小数在前,大数在后。2、当序列中存在多个同样大小的数时,输出序列中仅保留一个。    举例:    输入序列A:76,92,34,34,59,16,59,45    符合要求的输出序列B:16,34,45,59,76,92 约束:

2015-07-09 09:54:37 141

原创 2015华为机试——高次方数的尾数

解题思路: 思路一:先求M的N次方,然后M^N%1000求最后三位数,但是M的N次方很有可能会溢出,导致输出结果异常或错误。 思路二:思路一不行的话,我们得找到他对应的等效方法,M每乘M就对1000求余,其最后三位数是等效的。

2015-07-09 09:49:40 949

原创 2015华为机试—— 称重小白鼠

题目描述: N只小白鼠,每只鼠头上戴着一顶有颜色的帽子。现在称出每只白鼠的重量,要求按照白鼠重量从大到小的顺序输出它们头上帽子的颜色。帽子的颜色由枚举值MOUSE_COLOR定义。不同的小白鼠可以戴相同颜色的帽子。白鼠的重量用整数表示,请按照小白鼠的重量从小到大的顺序输出他们帽子的颜色,重量相同的小白鼠,排序后位置不变。解题思路:直接对小鼠体重进行排序,然后对排序后的小鼠,获取帽子颜色属性即可。

2015-07-09 09:34:21 1288

原创 leetcode——8 String to Integer (atoi)(自定义字符串转整型,如何避开各种奇葩输入)

解题思路: 题目不难,主要考察对各种输入的综合处理,如空字符串:“”; 多空格:“ 123 1 2 1” ;多符号:“+-123” ;多字符:“+abc123”,以及溢出。返回结果由两部分构成:基数+符号,因此需要将两部分分别求解。在程序设计初就要针对各种输入进行处理。编程的逻辑思维大致分四步: (1)空字符串的处理:如果字符串位空返回0即可 (2)空格的处理:使用循环遍历,将指针跳过空格即可 (3)符号的处理:设置一个符号标识sign,遍历时首先遇到的符号为输出结果的符号 (4)数字与溢出

2015-06-24 09:37:37 536

原创 leetcode——165 Compare Version Numbers(数字版本的比较)

解题思路: (1)使用splt(“\\.”)对应小数点进行分离,然后逐个比较 (2)比较过程中,我们假定数组的长度一致。长度较短的数组,当比较到最后一个元素以后,往后自动加0操作

2015-06-23 09:28:59 1071

ksoap2-android-assembly-2.5.2-jar-with-dependencies

ksoap2是Android访问远程数据库需要的jar包

2015-04-07

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除