1. namespace 面试常见算法
  2. {
  3. class Program
  4. {
  5. static void Main(string[] args)
  6. {
  7. int n1 = Test1();
  8. Console.WriteLine(n1);
  9.  
  10. Test2();
  11.  
  12. Test3();
  13.  
  14. int n2 = Test4();
  15. Console.WriteLine(n2);
  16.  
  17. string s = Test5();
  18. Console.WriteLine(s);
  19.  
  20. Test6();
  21.  
  22. Test7();
  23.  
  24. Console.ReadKey();
  25. }
  26.  
  27. #region//1-2+3-4+...+m
  28. static int Test1(int m)
  29. {
  30. int sum = ;
  31. for (int i = ; i <= m; i++)
  32. {
  33. if (i % > ) //奇偶性判断
  34. {
  35. sum += i;
  36. }
  37. else
  38. {
  39. sum -= i;
  40. }
  41. }
  42. return sum;
  43. }
  44. #endregion
  45.  
  46. #region//1,2,3,4四个数字,能够组成多少互不相同无重复数字的三位数
  47. static void Test2()
  48. {
  49. int count = ;
  50. for (int bw = ; bw <= ; bw++)
  51. {
  52. for (int sw = ; sw <= ; sw++)
  53. {
  54. if (sw != bw)
  55. {
  56. for (int gw = ; gw <= ; gw++)
  57. {
  58. if (gw != sw && gw != bw)
  59. {
  60. count++;
  61. Console.WriteLine("{0}{1}{2}", bw, sw, gw);
  62. }
  63. }
  64. }
  65. }
  66. }
  67. Console.WriteLine("一共有{0}个", count);
  68. }
  69. #endregion
  70.  
  71. #region//12?56? * 123 = 154?4987
  72. static void Test3()
  73. {
  74. for (int a = ; a < ; a++)
  75. {
  76. for (int b = ; b < ; b++)
  77. {
  78. for (int c = ; c < ; c++)
  79. {
  80. if (( + a + b * ) * == + c * )
  81. {
  82. Console.WriteLine(a);
  83. Console.WriteLine(b);
  84. Console.WriteLine(c);
  85. }
  86. }
  87. }
  88. }
  89. }
  90. #endregion
  91.  
  92. #region//1 1 2 3 5 8 13 21 34...递归计算第30位数
  93. static int Test4(int i)
  94. {
  95. if (i <= )
  96. {
  97. return ;
  98. }
  99. else if (i > && i <= )
  100. {
  101. return ;
  102. }
  103. else
  104. {
  105. return Test4(i - ) + Test4(i - );
  106. }
  107. }
  108. #endregion
  109.  
  110. #region//字符串反转
  111. static string Test5()
  112. {
  113. string s = "I am a good man";
  114. string[] arr = s.Split(' ');
  115. string res = "";
  116. for (int i = arr.Length - ; i >= ; i--)
  117. {
  118. res += arr[i];
  119. if (i > )
  120. res += " ";
  121. }
  122. return res;
  123. }
  124. #endregion
  125.  
  126. #region//九九乘法表
  127. static void Test6()
  128. {
  129. string t = string.Empty;
  130. for (int i = ; i < ; i++)
  131. {
  132. for (int j = ; j <= i; j++)
  133. {
  134. t = string.Format("{0}*{1}={2} ", j, i, (j * i));
  135. Console.Write(t);
  136. if (i == j)
  137. Console.Write("\n");
  138. }
  139. }
  140. }
  141. #endregion
  142.  
  143. #region//冒泡排序 把一组数据按照从大到小/降序或从小到大/升序排列
  144. static void Test7()
  145. {
  146. int[] nums = { , , , , , , , , , };
  147. for (int i = ; i < nums.Length - ; i++)
  148. {
  149. for (int j = ; j < nums.Length - - i; j++)
  150. {
  151. if (nums[j] > nums[j + ])
  152. {
  153. int temp = nums[j];
  154. nums[j] = nums[j + ]; //Array.Sort(nums);//升序
  155. nums[j + ] = temp; //Array.Reverse(nums);//反转
  156. }
  157. }
  158. }
  159. for (int i = ; i < nums.Length; i++)
  160. {
  161. Console.Write(nums[i]);
  162. }
  163. }
  164. #endregion
  165.  
  166. }
  167. }

原文链接:

https://blog.csdn.net/byondocean/article/details/7046101

C#常见基础算法的更多相关文章

  1. Java基础语法(8)-数组中的常见排序算法

    title: Java基础语法(8)-数组中的常见排序算法 blog: CSDN data: Java学习路线及视频 1.基本概念 排序: 是计算机程序设计中的一项重要操作,其功能是指一个数据元素集合 ...

  2. python常见排序算法解析

    python——常见排序算法解析   算法是程序员的灵魂. 下面的博文是我整理的感觉还不错的算法实现 原理的理解是最重要的,我会常回来看看,并坚持每天刷leetcode 本篇主要实现九(八)大排序算法 ...

  3. python——常见排序算法解析

    算法是程序员的灵魂. 下面的博文是我整理的感觉还不错的算法实现 原理的理解是最重要的,我会常回来看看,并坚持每天刷leetcode 本篇主要实现九(八)大排序算法,分别是冒泡排序,插入排序,选择排序, ...

  4. python_基础算法

    本篇主要实现九(八)大排序算法,分别是冒泡排序,插入排序,选择排序,希尔排序,归并排序,快速排序,堆排序,计数排序.希望大家回顾知识的时候也能从我的这篇文章得到帮助. 概述 十种常见排序算法可以分为两 ...

  5. DAY 4 基础算法

    基础算法 本来今天是要讲枚举暴力还有什么的,没想到老师就说句那种题目就猪国杀,还说只是难打,不是难.... STL(一)set 感觉今天讲了好多,set,单调栈,单调队列,单调栈和单调队列保证了序列的 ...

  6. 常见GC算法,CMS以及G1的垃圾回收过程,CMS的各个阶段哪两个是Stop the world的,CMS会不会产生碎片,G1的优势。

    常见GC算法 在C/C++中是由程序员自己去申请.管理和释放内存的,因此没有GC的概念.而在Java中,专门有一个用于垃圾回收的后台线程来进行监控.扫描,自动将一些无用的内存进行释放.下面介绍几种常见 ...

  7. 常见排序算法总结分析之选择排序与归并排序-C#实现

    本篇文章对选择排序中的简单选择排序与堆排序,以及常用的归并排序做一个总结分析. 常见排序算法总结分析之交换排序与插入排序-C#实现是排序算法总结系列的首篇文章,包含了一些概念的介绍以及交换排序(冒泡与 ...

  8. Python <算法思想集结>之初窥基础算法

    1. 前言 数据结构和算法是程序的 2 大基础结构,如果说数据是程序的汽油,算法则就是程序的发动机. 什么是数据结构? 指数据在计算机中的存储方式,数据的存储方式会影响到获取数据的便利性. 现实生活中 ...

  9. 常见排序算法(附java代码)

    常见排序算法与java实现 一.选择排序(SelectSort) 基本原理:对于给定的一组记录,经过第一轮比较后得到最小的记录,然后将该记录与第一个记录的位置进行交换:接着对不包括第一个记录以外的其他 ...

随机推荐

  1. vue报错Error in v-on handler: "RangeError: Maximum call stack size exceeded"

    看下面的报错 错误 看到这个错误一脸懵逼.后面了解到,是因为程序进入了死循环,后面检查了我的代码,原来在这里自己调用自己

  2. 原生Ajax发送get、post请求每一步

    说明 发送Ajax的请求的核心对象是XMLHttpRequest,因此我们需要了解该对象的相关属性和方法 方法(图一) 属性(图二) 第一步:创建 XMLHttpRequest对象,下面都简写为 xh ...

  3. python中元类(metaclass)的理解

    原文地址:http://www.cnblogs.com/tkqasn/p/6524879.html 一:类也是对象 类就是一组用来描述如何生成一个对象的代码. 类也是一个对象,只要你使用关键字clas ...

  4. MVVM框架(二)---生命周期

    一.Vue 生命周期图解: 这张图是官方给出的,大家可能都看过.其中我们重点讲述以下几个钩子函数: beforeCreate  -->   created beforeMount   --> ...

  5. Why Oracle VIP can not be switched to original node ?

    Oracle RAC is an share everything database architecture. The article is how to check out why virtual ...

  6. SPH流体模拟及液面重构问题

    关于流体特效模拟算法的简单描述,前提部分. 目前动画领域内的流体模拟主要是拉格朗日法无网格法和欧拉网格法,两种方法更有利弊. 我研究的主要是拉格朗日法中的SPH模型,即光滑粒子流体动力学模型. 粒子方 ...

  7. python3 ansible api 命令和playbook

    一.api代码 # coding: utf-8 import os import sys from collections import namedtuple from ansible.parsing ...

  8. Kafka运维大全来了!优化、监控、故障处理……

      Kafka概念   Kafka是分布式发布-订阅消息系统.它最初由LinkedIn公司开发,之后成为Apache项目的一部分.Kafka是一个分布式的.可划分的.冗余备份的.持久性的日志服务.它主 ...

  9. 修改定时清理 /tmp 目录下的文件

    初衷 默认系统是超过 30 天不访问的文件自动清除的,但是有时候硬盘用得紧可以考虑修改周期 设置方法 编辑配置文件:vim /etc/cron.daily/tmpwatch #! /bin/sh fl ...

  10. PYTHON 学习笔记4 模块的使用、基本IO 写入读取、JSON序列化

    前言 若在之前写代码的方式中,从Python 解释器进入.退出后再次进入,其定义的变量.函数等都会丢失.为了解决这个为,我们需要将需要的函数.以及定义的变量等都写入一个文件当中.这个文件就叫做脚本 随 ...