博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
面试算法题汇总
阅读量:5150 次
发布时间:2019-06-13

本文共 4530 字,大约阅读时间需要 15 分钟。

1. 编码实现:数组奇数在前面,偶数在后面  

static void Main(string[] args)        {            //定义一个数组            int[] arr = new int[] { 1, 23, 2, 34, 21, 45, 26, 22, 41, 66, 3 };            //声明一个新数组,用于保存排序之后的内容            int[] newArr = new int[arr.Length];            //定义一个最小索引            int begin = 0;            //定义一个最大索引            int end = arr.Length;            for (int i = 0; i < arr.Length; i++)            {                if (begin >= end)                    break;                if (arr[i] % 2 == 0)                {                    //如果是偶数,则从最小索引位置开始添加                    newArr[begin] = arr[i];                    begin++;                }                else                {                    //如果是奇数,则从最大索引位置开始添加                    newArr[end] = arr[i];                    end--;                }            }            Console.Read();        }
View Code

 2.有一列数1,1,2,3,5,........求第30个数. 

public static int GetNumber(int i)        {            if (i < 0)                return 0;            else if (i == 1 || i == 2)                return 1;            else                return GetNumber(i - 1) + GetNumber(i - 2);        }
View Code

3.有一个字符串 "I am a good man",设计一个函数,返回 "man good a am I".

using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace Demo_Sort{    class Program    {        static void Main(string[] args)        {            string str = "I am a good man";            Console.WriteLine(Reverse1(str));            Console.WriteLine(Reverse2(str));            Console.Read();        }        ///         /// 方法1        ///         ///         /// 
public static string Reverse1(string str) { string[] strArr = str.Split(' '); if (strArr == null || strArr.Length <= 0) return str; int beginIndex = 0; int endIndex = strArr.Length - 1; string strTemp = string.Empty; while (beginIndex < endIndex) { strTemp = strArr[endIndex]; strArr[endIndex] = strArr[beginIndex]; strArr[beginIndex] = strTemp; beginIndex++; endIndex--; } return string.Join(" ", strArr); } /// /// 方法2 /// /// ///
public static string Reverse2(string str) { string[] strArr = str.Split(' '); if (strArr == null || strArr.Length <= 0) return str; StringBuilder sb = new StringBuilder(); for (int i = strArr.Length - 1; i >= 0; i--) { sb.Append(strArr[i]); sb.Append(" "); } string result = sb.ToString().TrimEnd(); return result; } }}
View Code

4.A、B、C、D、E五名学生有可能参加计算机竞赛,根据下列条件判断哪些人参加了竞赛:

   (1)A参加时,B也参加;
   (2)B和C只有一个人参加;
   (3)C和D或者都参加,或者都不参加;
   (4)D和E中至少有一个人参加;
   (5)如果E参加,那么A和D也都参加。

using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace Demo_Sort{    class Program    {        static void Main(string[] args)        {            Student[] stu = new Student[]            {                 new Student("A"),                new Student("B"),                new Student("C"),                new Student("D"),                new Student("E")            };            games(stu);            for (int i = 0; i < stu.Length; i++)            {                Console.Write(stu[i].Name);                if (stu[i].join)                    Console.WriteLine("去了");                else                    Console.WriteLine("没去");            }            Console.Read();        }        static void games(Student[] stu)        {            if (stu[0].join)                stu[1].join = true;            if (stu[1].join)                stu[2].join = false;            else                stu[2].join = true;            stu[3].join = stu[2].join;            if (!stu[3].join)                stu[4].join = true;            if (stu[4].join)            {                if (stu[0].join == stu[3].join)                    return;                else                {                    stu[0].join = false;                    games(stu);                }            }        }    }    public class Student    {        public string Name { get; set; }        public bool join { get; set; }        public Student(string name)        {            this.Name = name;        }    }}
View Code

 

转载于:https://www.cnblogs.com/qianxingdewoniu/p/5345433.html

你可能感兴趣的文章
QT-2D编程
查看>>
【转载】Free Lunch is Over(免费午餐已经结束了)
查看>>
leetcode 141. Linked List Cycle 、 142. Linked List Cycle II
查看>>
团队工作第二天
查看>>
python escape sequences
查看>>
【转】Odoo:基本字段类型
查看>>
将中文数字转换层阿拉伯数字
查看>>
用C#调用蓝牙编程
查看>>
图片组件——axure线框图部件库介绍
查看>>
NSString / NSData / char* 类型之间的转换
查看>>
html5 拖放购物车
查看>>
恩尼格码的发明和破解
查看>>
UIAlertController:弹框4步走
查看>>
Java读取txt文件内容
查看>>
国内git项目托管平台
查看>>
linux下memcached安装及php扩展安装配置
查看>>
git本地文件提交
查看>>
NOIP2018提高/普及成绩
查看>>
感知机算法实现(原始形式)
查看>>
selinux 综合大全
查看>>