C#常见基础算法
namespace 面试常见算法
{
class Program
{
static void Main(string[] args)
{
int n1 = Test1();
Console.WriteLine(n1); Test2(); Test3(); int n2 = Test4();
Console.WriteLine(n2); string s = Test5();
Console.WriteLine(s); Test6(); Test7(); Console.ReadKey();
} #region//1-2+3-4+...+m
static int Test1(int m)
{
int sum = ;
for (int i = ; i <= m; i++)
{
if (i % > ) //奇偶性判断
{
sum += i;
}
else
{
sum -= i;
}
}
return sum;
}
#endregion #region//1,2,3,4四个数字,能够组成多少互不相同无重复数字的三位数
static void Test2()
{
int count = ;
for (int bw = ; bw <= ; bw++)
{
for (int sw = ; sw <= ; sw++)
{
if (sw != bw)
{
for (int gw = ; gw <= ; gw++)
{
if (gw != sw && gw != bw)
{
count++;
Console.WriteLine("{0}{1}{2}", bw, sw, gw);
}
}
}
}
}
Console.WriteLine("一共有{0}个", count);
}
#endregion #region//12?56? * 123 = 154?4987
static void Test3()
{
for (int a = ; a < ; a++)
{
for (int b = ; b < ; b++)
{
for (int c = ; c < ; c++)
{
if (( + a + b * ) * == + c * )
{
Console.WriteLine(a);
Console.WriteLine(b);
Console.WriteLine(c);
}
}
}
}
}
#endregion #region//1 1 2 3 5 8 13 21 34...递归计算第30位数
static int Test4(int i)
{
if (i <= )
{
return ;
}
else if (i > && i <= )
{
return ;
}
else
{
return Test4(i - ) + Test4(i - );
}
}
#endregion #region//字符串反转
static string Test5()
{
string s = "I am a good man";
string[] arr = s.Split(' ');
string res = "";
for (int i = arr.Length - ; i >= ; i--)
{
res += arr[i];
if (i > )
res += " ";
}
return res;
}
#endregion #region//九九乘法表
static void Test6()
{
string t = string.Empty;
for (int i = ; i < ; i++)
{
for (int j = ; j <= i; j++)
{
t = string.Format("{0}*{1}={2} ", j, i, (j * i));
Console.Write(t);
if (i == j)
Console.Write("\n");
}
}
}
#endregion #region//冒泡排序 把一组数据按照从大到小/降序或从小到大/升序排列
static void Test7()
{
int[] nums = { , , , , , , , , , };
for (int i = ; i < nums.Length - ; i++)
{
for (int j = ; j < nums.Length - - i; j++)
{
if (nums[j] > nums[j + ])
{
int temp = nums[j];
nums[j] = nums[j + ]; //Array.Sort(nums);//升序
nums[j + ] = temp; //Array.Reverse(nums);//反转
}
}
}
for (int i = ; i < nums.Length; i++)
{
Console.Write(nums[i]);
}
}
#endregion }
}
原文链接:
https://blog.csdn.net/byondocean/article/details/7046101
C#常见基础算法的更多相关文章
- Java基础语法(8)-数组中的常见排序算法
title: Java基础语法(8)-数组中的常见排序算法 blog: CSDN data: Java学习路线及视频 1.基本概念 排序: 是计算机程序设计中的一项重要操作,其功能是指一个数据元素集合 ...
- python常见排序算法解析
python——常见排序算法解析 算法是程序员的灵魂. 下面的博文是我整理的感觉还不错的算法实现 原理的理解是最重要的,我会常回来看看,并坚持每天刷leetcode 本篇主要实现九(八)大排序算法 ...
- python——常见排序算法解析
算法是程序员的灵魂. 下面的博文是我整理的感觉还不错的算法实现 原理的理解是最重要的,我会常回来看看,并坚持每天刷leetcode 本篇主要实现九(八)大排序算法,分别是冒泡排序,插入排序,选择排序, ...
- python_基础算法
本篇主要实现九(八)大排序算法,分别是冒泡排序,插入排序,选择排序,希尔排序,归并排序,快速排序,堆排序,计数排序.希望大家回顾知识的时候也能从我的这篇文章得到帮助. 概述 十种常见排序算法可以分为两 ...
- DAY 4 基础算法
基础算法 本来今天是要讲枚举暴力还有什么的,没想到老师就说句那种题目就猪国杀,还说只是难打,不是难.... STL(一)set 感觉今天讲了好多,set,单调栈,单调队列,单调栈和单调队列保证了序列的 ...
- 常见GC算法,CMS以及G1的垃圾回收过程,CMS的各个阶段哪两个是Stop the world的,CMS会不会产生碎片,G1的优势。
常见GC算法 在C/C++中是由程序员自己去申请.管理和释放内存的,因此没有GC的概念.而在Java中,专门有一个用于垃圾回收的后台线程来进行监控.扫描,自动将一些无用的内存进行释放.下面介绍几种常见 ...
- 常见排序算法总结分析之选择排序与归并排序-C#实现
本篇文章对选择排序中的简单选择排序与堆排序,以及常用的归并排序做一个总结分析. 常见排序算法总结分析之交换排序与插入排序-C#实现是排序算法总结系列的首篇文章,包含了一些概念的介绍以及交换排序(冒泡与 ...
- Python <算法思想集结>之初窥基础算法
1. 前言 数据结构和算法是程序的 2 大基础结构,如果说数据是程序的汽油,算法则就是程序的发动机. 什么是数据结构? 指数据在计算机中的存储方式,数据的存储方式会影响到获取数据的便利性. 现实生活中 ...
- 常见排序算法(附java代码)
常见排序算法与java实现 一.选择排序(SelectSort) 基本原理:对于给定的一组记录,经过第一轮比较后得到最小的记录,然后将该记录与第一个记录的位置进行交换:接着对不包括第一个记录以外的其他 ...
随机推荐
- linux系统CentOS7中find命令使用
一.作用 查找文件或目录 二.参数(常用) -atime 查找在指定时间曾被存取过的目录或文件,单位以24小时计算.(访问时间,执行文件等) -ctime 查找指定时间曾被更改的目录或文件,单位以24 ...
- jdk和dubbo的SPI机制
前言:开闭原则一直是软件开发领域中所追求的,开闭原则中的"开"是指对于组件功能的扩展是开放的,是允许对其进行功能扩展的,“闭”,是指对于原有代码的修改是封闭的,即不应该修改原有的代 ...
- HTTP协议简单理解
1.概念: “超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议.所有的WWW文件都必须遵守这个标准. 设计HTTP最初的目的是为了 ...
- shell正则表达式提取数字
grep 提取数字 grep -Po "\d+\.\d+"
- python库之numpy学习---nonzero()用法
当使用布尔数组直接作为下标对象或者元组下标对象中有布尔数组时,都相当于用nonzero()将布尔数组转换成一组整数数组,然后使用整数数组进行下标运算. nonzeros(a)返回数组a中值不为零的元素 ...
- sqlserver backup and restore -- partital restore
Like a tratitional database, sqlserver not only could resotre full database but also do restore one ...
- VFP CursorAdapter 起步三(作者:Doug Hennig 译者:fbilo)
可重用数据类 VFP 的程序员们想要一个可重用的数据类已经很久了.尽管在过去的版本中也有许多解决这个问题的办法,不过总是有点美中不足.现在在 VFP 8里,我们有了真正的可重用数据类.这个月,Doug ...
- Python - with open()、os.open()、open()的详细使用
读写文件背景 读写文件是最常见的IO操作.Python内置了读写文件的函数,用法和C是兼容的. 在磁盘上读写文件的功能都是由操作系统提供的,现代操作系统不允许普通的程序直接操作磁盘. 读写文件就是请求 ...
- pinpoint安装(docker)
安装docker docker-compose yum update -y yum install docker epel-release python-pip -y pip install --up ...
- iptables之路由网关共享上网/端口映射
linux-A 主机配置eth0即可: [root@linux-A ~]# ifconfig eth0|sed -n '2p' inet addr:192.168.20.3 Bcast:192.168 ...