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) 基本原理:对于给定的一组记录,经过第一轮比较后得到最小的记录,然后将该记录与第一个记录的位置进行交换:接着对不包括第一个记录以外的其他 ...
随机推荐
- 使用abp框架与vue一步一步写我是月老的小工具(1)
一.前言 因为工作的原因,我真正写代码的时间很少,技术面广但深度一直不够,兴趣广泛但缺乏专业精神.以前一直想用asp.net写一款框架,用来在企业开发过程中做一些基础工作,不过后来我找到abp这个框架 ...
- python中的变量和字符串
一.变量 1.python变量 *变量用于存储某个或某些特定的值,它与一个特定标识符相关联,该标识符称为变量名称.变量名指向存储在内存中的值.在创建变量时会在内存中开辟一个空间.基于变量的数据类型,解 ...
- GDI+ Hello World
学WTL/MFC,学不会了去看WIN32. 学C/C++,学不会了去看汇编. 使用VS,不明白了去用cl.exe/link.exe 控制台下输出图片的分辨率: #include <windows ...
- QtGui实现计算圆的面积
dialog.h #ifndef DIALOG_H #define DIALOG_H #include <QtWidgets/QDialog> #include <QtWidgets ...
- 使用自环接口的UDP服务器和客户端
import argparse,socket from datetime import datetime MAX_BYTES = 65535 def server(port): sock = sock ...
- Codeforces_723
A.取中间那个点即可. #include<bits/stdc++.h> using namespace std; ]; int main() { ios::sync_with_stdio( ...
- CCF_ 201403-2_窗口
用deque模拟. #include<iostream> #include<cstdio> #include<deque> using namespace std; ...
- android studio闪退的原因
可能是因为某个监听的问题,比如没有把Mainacticity中定义的button和布局文件中的按钮控件关联起来,就会出现这个问题
- Generalized end-to-end loss for speaker verification
论文题目:2018_说话人验证的广义端到端损失 论文代码:https://google.github.io/speaker-id/publications/GE2E/ 地址:https://www.c ...
- 使用FIO工具测试块存储性能
Linux实例和Windows实例都推荐使用FIO工具测试块存储性能. 说明 您也可以使用其他工具测试块存储性能,但不同工具测试出来的硬盘基准性能会有差异,如dd.sysbench.iometer ...