小小算法
文章平均质量分 71
wjy320
这个作者很懒,什么都没留下…
展开
-
Java实现进制之间的转换
@ sourceNum:10进制的源数字 @ baseNum: 目的进制 package com.wjy.algorithm; import java.util.Stack; public class SystemTransform { private int sourceNum; private int baseNum; public SystemTransf...原创 2014-03-11 09:45:21 · 108 阅读 · 0 评论 -
去掉字符串中的重复字符
题目: 通过键盘输入一串小写字母(a~z)组成的字符串。请编写一个字符串 过滤程序,若字符串中出现多个相同的字符,将非首次出现的字符过滤掉。 比如字符串“abacacde”过滤结果为“abcde”。 要求实现函数: void stringFilter(const char *pInputStr, long lInputLen, char *pOutputStr); ...原创 2014-03-11 15:38:28 · 831 阅读 · 0 评论 -
字符串压缩
题目描述: 通过键盘输入一串小写字母(a~z)组成的字符串。请编写一个字符串压缩程序,将字符串中连续出席的重复字母进行压缩,并输出压缩后的字符串。 压缩规则: 1. 仅压缩连续重复出现的字符。比如字符串"abcbc"由于无连续重复字符,压缩后的字符串还是"abcbc". 2. 压缩字段的格式为"字符重复的次数+字符"。例如:字符串"xxxyyyyyyz"压缩后就成为"3x...原创 2014-03-11 19:21:05 · 170 阅读 · 0 评论 -
解析字符串算式
题目: 通过键盘输入100以内正整数的加、减运算式,请编写一个程序输出运算结果字符串。 输入字符串的格式为:“操作数1 运算符操作数2”,“操作数”与“运算符”之间以一个空格隔开。 补充说明: 1. 操作数为正整数,不需要考虑计算结果溢出的情况。 2. 若输入算式格式错误,输出结果为“0”。 要求实现函数: void arithmetic(const char *pInputStr...原创 2014-03-11 21:12:38 · 610 阅读 · 0 评论 -
根据先序和中序重建二叉树并输出后序(不完美版)
存在的问题:若根据先序遍历结果和中序遍历结果无法重建二叉树应该输出NO。但是它还做不到。 代码如下: #include <stdio.h> #include<iostream> using namespace std; typedef struct ListNode{ int value; struct ListNode* pLef...原创 2014-03-20 16:48:47 · 104 阅读 · 0 评论 -
各种排序的时间复杂度
最近看了一些面试题,有很多考算法的时间复杂度的。搜一些资料看看: 1.选择排序:不稳定,时间复杂度 O(n^2) 选择排序的基本思想是对待排序的记录序列进行n-1遍的处理,第i遍处理是将L[i..n]中最小者与L[i]交换位置。这样,经过i遍处理之后,前i个记录的位置已经是正确的了。 2.插入排序:稳定,时间复杂度 O(n^2) 插入排序的基本思想是...原创 2014-04-01 14:19:38 · 220 阅读 · 0 评论 -
数组全排列
#include<stdio.h> #include<iostream> using namespace std; void print(int arr[3]) { int i; for(i=0;i<3;i++) { printf("%d",arr[i]); } printf("\n"); } void swap(int a...原创 2014-04-14 08:46:02 · 83 阅读 · 0 评论