C#递归实现回文判断算法
本文实例讲述了C#递归实现回文判断算法,分享给大家供大家参考。具体实现方法如下:
static void Main(string[] args)
{
DateTime dt1 = DateTime.Now;
string text = "abcdedcba";
bool bYes = Recv(text);
Console.Write("{0}:{1}回文!", text, bYes ? "是" : "不是");
DateTime dt2 = DateTime.Now;
Console.Write("耗时:{0}毫秒", (dt2 - dt1).TotalMilliseconds.ToString());
Console.ReadLine();
}
private static bool Recv(string text)
{
string head = text.Substring(0, 1);
string end = text.Substring(text.Length - 1, 1);
if (head == end)
{
if (text.Length == 1)
return true;
string t = text.Substring(1, text.Length - 2);
return Recv(t);
}
return false;
}
希望本文所述对大家的C#程序设计有所帮助。
相关推荐
-
C#面向对象编程之猜拳游戏实现方法
本文实例讲述了C#面向对象编程之猜拳游戏实现方法.分享给大家供大家参考.具体实现方法如下: 1.需求 现在要制作一个游戏,玩家与计算机进行猜拳游戏,玩家出拳,计算机出拳,计算机自动判断输赢. 2.需求分析 根据需求,来分析一下对象,可分析出:玩家对象(Player).计算机对象(Computer).裁判对象(Judge). 玩家出拳由用户控制,使用数字代表:1石头.2剪子.3布 计算机出拳由计算机随机产生 裁判根据玩家与计算机的出拳情况进行判断输赢. 3.类对象的实现 ①.玩家类示例代码: 复制
-
C#算法之关于大牛生小牛的问题
本文实例讲述了C#算法之关于大牛生小牛的问题.分享给大家供大家参考.具体分析如下: 问题: 一只刚出生的小牛,4年后生一只小牛,以后每年生一只.现有一只刚出生的小牛,问20年后共有牛多少只? 刚开始觉得递归比较好,想了很长时间,没想出来,于是想了下面一种方法来实现,先生成一个数据,并且数据第i个表示牛的年龄,数组i的值表示今年有几头牛 实现代码如下: const int YEAR = 50; static void Main(string[] args) { int[] yearAmount =
-
C#实现洗牌游戏实例
棋牌类游戏是目前比较火的游戏之一.今天本文就以实例形式实现洗牌游戏.本文实例所采用的算法是:遍历每个位置上的牌,然后与随机位置上的牌交换. 运行结果如下图所示: 对于牌来讲,2个关键的因素是面值和类型(如红桃.梅花等). 代码如下: public class Card { private string mianzhi; private string leixin; public Card(string m, string l) { mianzhi = m; leixin = l; } publi
-
C#算法设计之关于1000瓶水的问题
本文实例讲述了C#算法设计之关于1000瓶水的问题.分享给大家供大家参考.具体如下: 题目如下:假设有N瓶水(当然N>0吧) 每喝一瓶后可以得到的一个空瓶子 而 每3个空瓶子又能换1瓶水,喝掉以后又得到一个空瓶子, 问总共能喝多少瓶水,最后还剩余多少个空瓶子? 代码如下: private int Water(int n, int emptyQty) { Console.WriteLine("喝了" + n + "瓶水,多" + emptyQty + "
-
C#常见算法面试题小结
本文实例汇总了C#面试常见的算法题及其解答.具有不错的学习借鉴价值.分享给大家供大家参考.具体如下: 1.写出冒泡,选择,插入排序算法. //冒泡排序 public class bubblesorter { public void sort(int[] list) { int i, j, temp; bool done = false; j = 1; while ((j < list.Length) && (!done)) { done = true; for (i = 0; i &
-
C# 游戏外挂实现核心代码
最近经朋友介绍开始玩 密传 网络游戏 升级升级,突然觉得太费键盘,于是自己用C#写了一个程序,想代替我的操作,自己去打怪物,自己升级 用这个东西升了好多级了,现在把源码贴出来,和大家共享,欢迎大家批评指正,感激不尽. 程序大概分成两个部分,一个部分是类库,一个是应用程序 大概的思路就是找到游戏进程的主窗口句柄,然后发送游戏按键消息(模拟按键). XDF.GamePlugInCommon 类库项目 //API.cs 文件,定义一些常用API函数及常量 using System; using Sys
-
C#实现洗牌算法
C#洗牌算法,简单演示! /// <summary> /// 洗牌算法 /// </summary> private void test() { int[] iCards = new int[54]; for (int i = 0; i < iCards.Length; i++) { iCards[i] = i + 1; } // Random rand = new Random(); int iTarget = 0, iCardTemp = 0; for (int i =
-
C#实现的算24点游戏算法实例分析
本文实例讲述了C#实现的算24点游戏算法.分享给大家供大家参考.具体如下: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.IO; namespace Calc24Points { public class Cell { public enum Type { Number, Signal } public int Number; public ch
-
C#实现的优酷真实视频地址解析功能(2014新算法)
序:优酷之前更新了次算法(很久之前了,呵呵...),故此很多博客的解析算法已经无法使用.很多大牛也已经更新了新的解析方法.我也在此写篇解析过程的文章.(本文使用语言为C#) 由于优酷视频地址时间限制,在你访问本篇文章时,下面所属链接有可能已经失效,望见谅. 例:http://v.youku.com/v_show/id_XNzk2NTI0MzMy.html 1:获取视频vid 在视频url中标红部分.一个正则表达式即可获取. 复制代码 代码如下: string getVid(string url)
-
C#递归实现回文判断算法
本文实例讲述了C#递归实现回文判断算法,分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: static void Main(string[] args) { DateTime dt1 = DateTime.Now; string text = "abcdedcba"; bool bYes = Recv(text); Console.Write("{0}:{1}回文!", text, bYes ? "是" :
-
Python实现判断一个整数是否为回文数算法示例
本文实例讲述了Python实现判断一个整数是否为回文数算法.分享给大家供大家参考,具体如下: 第一个思路是先将整数转换为字符串,再将字符串翻转并与原字符串做比较 def isPalindrome(self, x): """ :type x: int :rtype: bool """ #思路:先将整数转换为字符串,再将字符串翻转并与原字符串做比较 x = str(x) return x == x[::-1] 代码简洁 第二个思路,尝试着不用字符串,
-
Python3实现的判断回文链表算法示例
本文实例讲述了Python3实现的判断回文链表算法.分享给大家供大家参考,具体如下: 问题: 请判断一个链表是否为回文链表. 方案一:指针法 class Solution: def isPalindrome(self, head): """ 判断一个链表是否是回文的,很自然的想法就是两个指针,一个指针从前往后走,一个指针从后往前走,判断元素值是否相同,这里要分几个步骤来进行求解: 1.找到链表长度的一半,用追赶法,一个指针一次走两步,一个指针一次走一步 2.将后一半数组转置
-
Python3最长回文子串算法示例
本文实例讲述了Python3最长回文子串算法.分享给大家供大家参考,具体如下: 1. 暴力法 思路:对每一个子串判断是否回文 class Solution: def longestPalindrome(self, s): """ :type s: str :rtype: str """ if len(s) == 1: return s re = s[0] for i in range(0,len(s)-1): for j in range(i+1
-
Python实现常见的回文字符串算法
回文 利用python 自带的翻转 函数 reversed() def is_plalindrome(string): return string == ''.join(list(reversed(string)))` 自己实现 def is_plalindrome(string): string = list(string) length = len(string) left = 0 right = length - 1 while left < right: if string[left]
-
python最长回文串算法
给定一个字符串,要求在这个字符串中找到符合回文性质的最长子串.所谓回文性是指诸如 "aba","ababa","abba"这类的字符串,当然单个字符以及两个相邻相同字符也满足回文性质. 看到这个问题,最先想到的解决方法自然是暴力枚举,通过枚举字符串所有字串的起点,逐一判断满足回文性的子串,记录长度并更新最长长度.显然这种算法的时间复杂度是很高的,最坏情况可以达到O(N*N).所以呢,这里提出一个优化的方案,通过枚举字符串子串的中心而不是起点,向两
-
JS使用栈判断给定字符串是否是回文算法示例
本文实例讲述了JS使用栈判断给定字符串是否是回文算法.分享给大家供大家参考,具体如下: /*使用栈stack类的实现*/ function stack() { this.dataStore = [];//保存栈内元素,初始化为一个空数组 this.top = 0;//栈顶位置,初始化为0 this.push = push;//入栈 this.pop = pop;//出栈 this.peek = peek;//查看栈顶元素 this.clear = clear;//清空栈 this.length
-
java中利用栈实现字符串回文算法
问题 给定一个由多个a和b组成的字符串数组,字符串中有一个特殊的字符X,位于字符串的正中间,例如(aaaabbbbXabaabbbb),如何判定该字符串是否回文 简单算法 定义两个下标分别指向字符串的头和尾,每次比较两个下标位置的值是否相等,如果不相等,那么输入的 字符串不是回文,如果相等,左边的下表加1,右边的下表减1,重复上述步骤直至两个下标都指向字符串的正中间或者确定字符串不是回文 /** * 判断字符串是否是回文 */ public int isPalindrome(String inp
-
C语言算法打卡回文串验证算法题解
目录 概念 Leetcode例题: 1.回文串的验证 2.有效回文 3.回文排列 点杀回文排列 点杀回文验证(有效性) 对撞指针 概念 所谓回文串,就是字符串反转以后和原串相同,如 abba 和 lippil.对于回文串还是比较容易去验证的,从字符数组的两端开始向中间靠拢去验证字符是否相等,但这里是否需要考虑字符数组长度的奇偶性呢?其实是不用的,下面一起来看看: Leetcode例题: 1.回文串的验证 2.有效回文 3.回文排列 (1,2题是一样的,合并讲解吧) 点杀回文排列 先讲回文排列吧,
-
C++实现判断字符串是否回文实例解析
本文实例解析了C++判断字符串是否回文的实现过程,通过数据结构中的相关例子,回文判断中采用过滤空格字符.有效字符依次入栈等方法实现该功能. 具体实例代码如下: #include <iostream> using namespace std; #define Max_String_Len 100 #include "SqStack.h" //判断字符串是否回文 bool ispalindrome(char *in_string) { SqStack <char>
随机推荐
- JavaBean(EJB) 3.0 全新体验
- jquery(1.3.2) 高亮选中图片边框
- JavaScript函数的4种调用方法详解
- 实用:IE浏览器精典技巧两则
- java单例模式4种使用方式分享
- 详解Java设计模式编程中命令模式的项目结构实现
- java实现哈弗曼编码与反编码实例分享(哈弗曼算法)
- 纯js实现瀑布流布局及ajax动态新增数据
- javascript中定义私有方法说明(private method)
- Repeater控件动态变更列(Header,Item和Foot)信息(重构cs)
- PHP获取一年中每个星期的开始和结束日期的方法
- C#实现最完整的文件和目录操作类实例
- 必须会的SQL语句(四) 数据删除和更新
- Java设计模式之工厂方法模式实例简析
- bootstrap中添加额外的图标实例代码
- js实现浏览器的各种菜单命令比如打印、查看源文件等等
- 使用apache的rotatelogs命令实现WebLogic启动命令的nohup的日志回滚
- C语言位图算法详解
- android之SeekBar控件用法详解
- 深入解析yii权限分级式访问控制的实现(非RBAC法)