随笔分类 -  每日一小题

摘要:static bool IsPalindrome(string s) { if (num >= s.Length - num - 1) { return true; } else if (s[num] == s[s.Length - num - 1]) { num++; // 全局变量 IsPalindrome(s); return true; } else { return false; } } 阅读全文
posted @ 2011-02-15 17:14 kntao 阅读(204) 评论(0) 推荐(0) 编辑
摘要:class node<T> { T data; node<T> Lnode, Rnode, Pnode; public T Data { get { return data; } set { data = value; } } public node<T> LNode { get { return Lnode; } set { Lnode = value; } } public node<T> RNode { get { return Rnode; } set { Rnode = value; } } public node<T> P 阅读全文
posted @ 2010-12-08 17:07 kntao 阅读(205) 评论(0) 推荐(0) 编辑
摘要:排序算法引导之实践之快速排序 class Program { static void Main(string[] args) { int[] arr=new int[]{54,62,99,14,28,1,8,77,99,3,110}; QuickSort(arr, 0, arr.Length-1); Console.Write("Data After QuickSort:"); foreach (int i in arr) { Console.Write(i+","); } Console.ReadLine(); } #region Quick Sort 阅读全文
posted @ 2010-07-23 14:59 kntao 阅读(389) 评论(0) 推荐(0) 编辑
摘要:1. 一个字符串参数(value)由字母(a-z,A-Z)组成,且最大字符位数为40,要求写一个函数(maxLength)返回该参数中连续相同字母的最大个数及该字母,如果最大位数有多个,则返回第一个。例:字符串“aaaddxxxxddddxxxx”,返回值为:“x,4”。要求:请考虑代码执行的效率并注意编码的风格。 class Program { static void Main(string[] args) { string s = "aaaddxxxxxbbbbbbbbddddxxxx"; Console.WriteLine(GetMaxLength(s)); } pu 阅读全文
posted @ 2010-07-14 17:14 kntao 阅读(224) 评论(0) 推荐(0) 编辑
摘要:微软的22道数据结构算法题(含答案) 1、反转一个链表。循环算法。 1 List reverse(List l) { 2 if(!l) return l; 3 list cur = l.next; 4 list pre = l; 5 list tmp; 6 pre.next = null; 7 while ( cur ) { 8 tmp = cur; 9 cur = cur.next; 10 tmp.next = pre 11 pre = tmp; 12 } 13 return tmp; 14 } 2、反转一个链表。递归算法。 1 List resverse(list l) { 2 if(!l 阅读全文
posted @ 2010-06-28 17:05 kntao 阅读(188) 评论(0) 推荐(0) 编辑
摘要:要求以单词为单位进行字符串的反转,代码如下:还有人家写的几个编程题:http://www.zhuxinquan.com/cn/cat-48/// WordReverse.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include "stdlib.h"#include "string.h"char* CharReverse(const char*, int);char *WordReverse(const char *,i 阅读全文
posted @ 2009-09-08 12:22 kntao 阅读(325) 评论(0) 推荐(0) 编辑
摘要:今天我先写两个时间复杂度为0(N^2)的排序算法,明天继续,1. 我们最熟悉的冒泡排序,// Bubble sortvoid BubbleSort(int *pData,int count){ int iTemp; for(int i = 1; i < count; i++) { for(int j = count -1; j >= i; j--) { if(pData[j] > pData[j - 1]) { iTemp = pData[j -1]; pData[j -1] = pData[j]; pData[j] = iTemp; } } }}2. 然后是选择排序,就是从 阅读全文
posted @ 2009-07-30 17:49 kntao 阅读(115) 评论(0) 推荐(0) 编辑
摘要:今天一下午在看sharepoint了,又有活干,所以时间比较紧凑,于是想起了前些日子写的求最大子序列之和,作为每日一小题吧,暂做自我安慰吧。求最大子序列之和,主要要注意他的效率,1,算法复杂度是O( pow( n, 2 ) )int max_sub(int a[], int size){ int i, j, v, max = a[0]; for(int i = 0; i < size; i++) { v = 0; for(int j = i; j < size; j++) { v = v + a[j]; if( v > max) { max = v; } } } return 阅读全文
posted @ 2009-07-23 17:40 kntao 阅读(257) 评论(0) 推荐(0) 编辑
摘要:好久没写c/c++程序了,手脑都迟钝了老些,希望自己能够通过没日一小题来提高自己,锻炼自己。今日题目是,“两个已经排好序的数组,合并他们并使他们也排好序”。程序如下:希望高手们来指教。。int * MergeArray(int *a,int len1, int *b,int len2){ int *c = new int(sizeof(int) * (len1 + len2)); int i=0,j=0,k=0; // 比较2个数组大小,并交换 if( len1 < len2) { int *p = a; a = b; b = p; int t = len1; len1 = len2; 阅读全文
posted @ 2009-07-22 17:37 kntao 阅读(249) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示