常见程序题——算法

news/2024/7/8 7:20:52

1、求出一个字符在某一个字符串中出现的位置和次数。

        /// <summary>
        ///
        /// </summary>
        /// <param name="str">被查找的字符串</param>
        /// <param name="strKey">查找的字符</param>

        public static void LookUpStrKey(string str, string strKey) {
            int count = 1;
            int index = 0;
            int strkeyLength = strKey.Length;
            while (true)
            {
                index = str.IndexOf(strKey, index) ;
                if (index != -1)
                {
                    Console.WriteLine("第{0}次寻找,所在字符串中的位置是{1}", count, index);
                }
                else
                {
                    break;
                }
                index += strkeyLength;
                count++;
            }
            Console.ReadKey();
        }

调用:

            string str= "咳嗽我的世界你好!咳嗽我的四阶段就是"+
                "垃圾咳嗽哈哈哈哈哈哈哈哈咳嗽搜搜哦柯索咳嗽哈哈哈哈哈哈哈哈"+
                "咳嗽哈哈哈哈哈哈哈哈咳嗽搜搜哦柯索咳嗽搜搜哦柯索";
            string strKey = "咳嗽";
            LookUpStrKey(str, strKey);

输出结果:

第1次寻找,所在字符串中的位置是0
第2次寻找,所在字符串中的位置是9
第3次寻找,所在字符串中的位置是20
第4次寻找,所在字符串中的位置是30
第5次寻找,所在字符串中的位置是37
第6次寻找,所在字符串中的位置是47
第7次寻找,所在字符串中的位置是57
第8次寻找,所在字符串中的位置是64

2、将两个集合中的元素消除重复并组合成一个新的集合,并将这个集合进行排序
            List<int> list1 = new List<int>() {1, 3, 5, 6 };
            List<int> list2 = new List<int>() { 9, 6, 7, 1 };
            for (int i = 0; i < list2.Count(); i++) {
                if (!list1.Contains(list2[i])) {
                    list1.Add(list2[i]);
                }
            }
            //list1.OrderBy(l => l);
            list1.Sort();//也是排序
            foreach (int item in list1) {
                Console.WriteLine(item);
            }
            Console.ReadKey();

3、向一个集合里面添加10个1-100的随机数,要求不能出现重复且必须是偶数。

            Random r = new Random();

            List<int> list = new List<int>();

   //方法1
            for (int i = 0; i < 10; i++)
            {

                int number = r.Next(1, 101);
                if (!list.Contains(number) && number % 2 == 0)
                    list.Add(r.Next(1, 101));
                else
                    i--;

            }

            //方法2

            while (list.Count < 10) {
                int number = r.Next(1, 101);
                if (!list.Contains(number) && number % 2 == 0) {
                    list.Add(r.Next(1, 101));
                }
            }

            foreach (int item in list)
            {
                Console.WriteLine(item);
            }
            Console.ReadKey();

4、//计算出字符串"Wellcome, to china"中每个字母出现的次数
            string str = "Wellcome, to china";
            Dictionary<char, int> dic = new Dictionary<char, int>();
            //键:字符--------------值:出现的次数
            for (int i = 0; i < str.Length; i++)
            {
                //如果是空格则跳过,只计算字母出现的次数
                if (str[i] == ' ' || str[i] == ',')
                {
                    continue;
                }
                //第一次出现则添加到字典
                if (!dic.ContainsKey(str[i]))
                    dic.Add(str[i], 1);
                else
                    dic[str[i]]++;
            }
            foreach (KeyValuePair<char, int> kv in dic)
            {
                Console.WriteLine("字母{0}出现了{1}", kv.Key, kv.Value);
            }
            Console.ReadKey();

转载于:https://www.cnblogs.com/netlws/p/8831279.html


http://www.niftyadmin.cn/n/1998585.html

相关文章

计算机office基础知识题库,计算机一级MS Office基础考试题库

信息安全的内涵在不断地延伸&#xff0c;从最初的信息保密性发展到信息的完整性、可用性、可控性和不可否认性。下面是小编整理的关于计算机一级MS Office基础考试题库&#xff0c;希望大家认真阅读!单选题1). 最早的应用领域是A.信息处理B.科学计算C.过程控制D.人工智能正确答…

安然事件

从去年底美国能源大公司安然公司申请破产保护以来&#xff0c;美国华尔街似乎就一直没有太平过。上市公司欺诈的阴影挥之不去&#xff0c;此起彼伏&#xff0c;直至6月25日&#xff0c;在美国长途电话市场位居第二的世界通信公司又爆出了38亿美元的财务欺诈案&#xff0c;紧接着…

《程序员代码面试指南》第三章 二叉树问题 遍历二叉树的神级方法 morris

题目 遍历二叉树的神级方法 morris java代码 package com.lizhouwei.chapter3;/*** Description:遍历二叉树的神级方法 morris* Author: lizhouwei* CreateDate: 2018/4/14 17:15* Modify by:* ModifyDate:*/ public class Chapter3_5 {//morris中序public void morrisInOrder(…

计算机基础知识2001年版本,《2001年计算机应用基础》.pdf

全国高等教育自学考试标准预测试卷2001 年计算机应用基础学苑出版社全国高等教育自学考试2001 年计算机应用基础试卷及答案(考试时间 分钟)150题 号 一 二 三 四 五 总 分题 分 40 10 30 9 11 核分人得 分 复查人第一部分 选择题40 1 40一、单项选择题(本大题共 小题&#xff0…

JavaScript and Ruby in ABAP

Netweaver里有个mini JavaScript engine CL_JAVA_SCRIPT, 对于Js code的编译和执行都是用system call完成。 只能当玩具用&#xff1a;report SJSEU 执行结果&#xff1a;120 在SAP C4C的UI Designer里&#xff0c;event handler里可以写Ruby Script, UI保存时Ruby Script会自动…

对银广厦事件的思考

对银广厦事件的思考     经过《财经》杂志的曝光&#xff0c;美丽的银广厦泡沫终于破灭了。一时之间&#xff0c;银广厦事件成为市场关注的焦点。有人在进一步揭露银广厦事件内幕的&#xff0c;有人在阐述银广厦事件对股市的影响&#xff0c;有人建议对银广厦事件严肃查处&…

实践所学计算机知识应用,大学计算机实践课总结报告

大学计算机实践课总结报告眨眼一个学期过了&#xff0c;在这一学期中学到了很多关于计算机的知识及应用&#xff0c;收获颇丰&#xff0c;虽然之前对于这些都有接触和了解&#xff0c;但通过学习才知道自己了解的还是太少了&#xff0c;只有通过学习才能知道自己的不足&#xf…

vue 开发系列(三) vue 组件开发

概要 vue 的一个特点是进行组件开发&#xff0c;组件的优势是我们可以封装自己的控件&#xff0c;实现重用&#xff0c;比如我们在平台中封装了自己的附件控件&#xff0c;输入控件等。 组件的开发 在vue 中一个组件&#xff0c;就是一个独立的.vue 文件&#xff0c;这个文件分…