C#常见算法题目(面试准备)
1.写出冒泡,选择,插入排序算法。
//冒泡排序
public class bubblesorter
{
public void sort(int[] list)
{
int length = list.Length;
for (int i = 0; i < length; i++)
{
for (int j = length - 1; j > i; j--)
{
if (list[j - 1] > list[j])
{
int temp;
temp = list[j];
list[j] = list[j - 1];
list[j - 1] = temp;
}
}
}
}
}
//选择排序
public class selectionsorter
{
private int min;
public void sort(int[] list)
{
for (int i = 0; i < list.Length - 1; i++)
{
min = i;
for (int j = i + 1; j < list.Length; j++)
{
if (list[j] < list[min])
min = j;
}
int t = list[min];
list[min] = list[i];
list[i] = t;
}
}
}
//插入排序
public class insertionsorter
{
public void sort(int[] list)
{
for (int i = 1; i < list.Length; i++)
{
int t = list[i];
int j = i;
while ((j > 0) && (list[j - 1] > t))
{
list[j] = list[j - 1];
--j;
}
list[j] = t;
}
}
}
2.有一列数1,1,2,3,5,........求第30个数.
public class MainClass
{
public static void Main()
{
Console.WriteLine(Foo(30));
}
public static int Foo(int i)
{
if (i <= 0)
return 0;
else if (i > 0 && i <= 2)
return 1;
else return Foo(i - 1) + Foo(i - 2);
}
}
3. 程序设计: 猫大叫一声,所有的老鼠都开始逃跑,主人被惊醒。
public delegate void SubEventHandler();
public abstract class Subject
{
public event SubEventHandler SubEvent;
protected void FireAway()
{
if (this.SubEvent != null)
this.SubEvent();
}
}
public class Cat : Subject
{
public void Cry()
{
Console.WriteLine(cat cryed.);
this.FireAway();
}
}
public abstract class Observer
{
public Observer(Subject sub)
{
sub.SubEvent += new SubEventHandler(Response);
}
public abstract void Response();
}
public class Mouse : Observer
{
private string name;
public Mouse(string name, Subject sub) : base(sub)
{
this.name = name;
}
public override void Response()
{
Console.WriteLine(name + attempt to escape!);
}
}
public class Master : Observer
{
public Master(Subject sub) : base(sub){}
public override void Response()
{
Console.WriteLine(host waken);
}
}
class Class1
{
static void Main(string[] args)
{
Cat cat = new Cat();
Mouse mouse1 = new Mouse(mouse1, cat);
Mouse mouse2 = new Mouse(mouse2, cat);
Master master = new Master(cat);
cat.Cry();
}
}
4.有一个字符串 "I am a good man",设计一个函数,返回 "man good a am I"。
5.A、B、C、D、E五名学生有可能参加计算机竞赛,根据下列条件判断哪些
人参加了竞赛:
(1)A参加时,B也参加;
(2)B和C只有一个人参加;
(3)C和D或者都参加,或者都不参加;
(4)D和E中至少有一个人参加;
(5)如果E参加,那么A和D也都参加。
static void Main(string[] args)
{
char[] name=...{'A','B','C','D','E'};
int[] value = new int[5];
for (value[0]=0;value[0]<2;value [0]++)
for (value[1]=0; value[1] < 2; value[1]++)
for (value[2]=0; value[2] < 2; value[2]++)
for (value[3]=0; value[3] < 2; value[3]++)
for (value[4]=0; value[4] < 2; value[4]++)
{
if ((value[1] >= value[0]) && (value[1] + value[2] == 1) && (value[2] == value[3]) && (value[3] + value[4]==1) && (value[4]==0 || value[4]==1 && value[0]==1 && value[3]==1))
{
for (int i = 0; i < 5; i++)
{
if (value[i]==1)
{
Console.WriteLine("{0}参加", name[i]);
}
else
{
Console.WriteLine("{0}不参加", name[i]);
}
}
}
}
}
6.题目:
a user entered an integer value into a text box. Without using a buit-in library, convert the numeric string to its integer representation.
static int StringTolnt(string s)
{
int sum = 0;
for (int i = 0; i < s.Length; i++)
sum = sum * 10 + (s[i] - '0');
return sum;
}
C#常见算法题目(面试准备)相关推荐
- 10个JS常见算法题目
1.冒泡排序调优(从小到大排序) 2.输出九九乘法表 3.输出水仙花数 4.1–10的阶乘和 5.输出1900年至2100年中的所有闰年 6.输出10–100之间的所有素数 7.1,2,3,4四个数字 ...
- C#的常见算法(面试)(转)
一.求以下表达式的值,写出您想到的一种或几种实现方法: 1-2+3-4+--+m //方法一,通过顺序规律写程序,同时也知道flag标志位的重要性. static int F1(int m) { in ...
- java java算法题目_java常见算法题目
1: JAVA经典算法40题 2: [程序1] 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第四个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 3 ...
- 小明酱的算法实习生面试准备
今天早上参加了奇点机智的算法题笔试,然后下午就收到通知挂掉了,心里很不是滋味,面对后来要参加的猫眼.阿里.百度的面试肩上的担子感觉更重了,晚上游了1km,吃了顿百富烤霸整理好心情,现在开始重新出发,准 ...
- 本专栏所有力扣题目的目录链接, 刷算法题目的顺序(由易到难/面试频率)/注意点/技巧, 以及思维导图源文件问题(持续更新中)
这篇文章为本专栏所有力扣题目提供目录链接, 更加方便读者根据题型或面试频率进行阅读, 此外也会介绍我在刷题过程中总结的刷算法题目的顺序/注意点/技巧, 最后说下文中出现的思维导图源文件的问题 和 打卡 ...
- JavaScript 面试中常见算法问题详解
JavaScript 面试中常见算法问题详解,翻译自 https://github.com/kennymkchan/interview-questions-in-javascript.下文提到的很多问 ...
- 微软面试中简单的算法题目(转)
微软面试中简单的算法题目(转) (说明:这些题就不是什么花样了,考的是你的基础知识怎么样.再聪明而没有实学的人都将会被这些题所淘汰.) 1.链表和数组的区别在哪里? ANSWER 主要在基本概念上的 ...
- 语言高精度算法阶乘_JavaScript中的算法(附10道面试常见算法题解决方法和思路)...
https://juejin.im/post/6844903811505455118 Introduction 面试过程通常从最初的电话面试开始,然后是现场面试,检查编程技能和文化契合度.几乎毫无例外 ...
- Java面试常见算法
在程序员的职业生涯中,算法亦算是一门基础课程,尤其是在面试的时候,很多公司都会让程序员编写一些算法实例,例如快速排序.二叉树查找等等. 本文总结了程序员在代码面试中最常遇到的10大算法类型,想要真正了 ...
最新文章
- [WP]使用ApacheCordova开发HTML5-WindowsPhone应用程序
- python第二大奇数_python-2.7 – matplotlib,包含奇数个子图
- JDK和cglib动态代理代码示例
- SAP Kyma GraphQL storage实现
- labelme 语义分割数据集_RangeNet++: 快速精确的雷达数据语义分割(IROS 2019)
- git repo使用心得
- Oracle BCT(Block Change Tracking)与增量备份
- 以下选项中表述为oracle,oracle 选择题
- Debug gradle task
- Swift-初始化失败处理方法
- Xml中SelectSingleNode方法,xpath查找某节点用法
- java mongodb geo,通过GeoServer在MongoDB中提供地理空间数据
- Restlet 短连接问题
- AI助力教学升级,掌门优课智能互动双师课程获用户认可
- 在java中move是什么意思_move是什么意思
- 如何在行业内苟住(老手勿喷)
- deque实现生产者-消费者队列
- jelly_Android Jelly Bean通知教程
- C语言实现二叉树的非递归遍历
- Python之特征选择实战(转载)
热门文章
- Java EE 8停步不前:Java社区能否扭转乾坤?
- Android Studio IDE Out of Memory
- Kinect+OpenNI学习笔记之2(获取kinect的颜色图像和深度图像)
- 【重点:DP 双指针 栈】LeetCode 42. Trapping Rain Water
- 机器学习总结(一):线性回归、岭回归、Lasso回归
- 【算法基础】动态规划解题实例之野营问题
- caffe-ssd中非极大值抑制NMS的原理和实现方法
- 你真的弄清楚FocalLoss的细节了吗?
- win10关闭445端口
- python 内置函数:iter()