微软面试题-字符串数组按照字母排序

难度较大的微软面试题 一面: 英文自我介绍, 第一题是个模拟,给一种字符串加密方法,加密过程是把一个串不断左右左右移动: abcde => dbace,你需要写一个还原函数,简单模拟,注意长度 奇数偶数分开讨论。。O(n)解决。。但是可以常数小一点。。 第二题。给一个森林(数组形式),每个树有个高度,现在我要选一个高度,高于这个高度的树木会被砍下,我只砍一次,在给定个目标树木和target, 要求看下的树木之和在>= target 基础上尽可能小,求最接近的答案 简单的二分。。。 O(n) check.... 阅读详情

论坛的一个问题
对字符串进行排序,用任意一种编程语言来实现,不能使用现有的类,在排序中,字符串“Bc”,“Ad”,“aC”,“Hello”,“X man”,“little”,“During”,“day”能够排序成 “Ad”,"aC",“Bc”,“During”,“day”,“Hello”,“little”,“Hello”,也就是说,在排序的过程并不是传统的 按照字符串排序,在排序中还需要将小写字母一并排序,也就是说a字符串要在B或b之前。

  1. import java.util.Arrays;
    import java.util.Comparator;

    /**
     * 微软面试题-按照字母排序.<br>
     * 小写字母在大写后面,字母B/b在字母A/a后面<br>
     *
     * @author 老紫竹 JAVA世纪网(java2000.net)
     *
     */
    class T {
      private static final int MASK = 0xFFDF; // 用来把小写变成大写

      public static int compare(String o1, String o2) {
        int length1 = o1.length();
        int length2 = o2.length();
        int length = length1 > length2 ? length2 : length1;
        int c1, c2;
        int d1, d2;
        for (int i = 0; i < length; i++) {
          c1 = o1.charAt(i);
          c2 = o2.charAt(i);
          d1 = c1 & MASK;
          d2 = c2 & MASK;
          if (d1 > d2) {
            return 1;
          } else if (d1 < d2) {
            return -1;
          } else {
            if (c1 > c2) {
              return 1;
            } else if (c1 < c2) {
              return -1;
            }
          }
        }
        if (length1 > length2) {
          return 1;
        } else if (length1 < length2) {
          return -1;
        }
        return 0;
      }

      public static void sortByPOPO(String[] args) {
        String tmp;
        for (int i = 0; i < args.length; i++) {
          for (int j = i + 1; j < args.length; j++) {
            if (compare(args[i], args[j]) > 0) {
              tmp = args[i];
              args[i] = args[j];
              args[j] = tmp;
            }
          }
        }
        // [Ad, aC, Bc, During, day, Hello, little, X man]
        System.out.println(Arrays.toString(args));
      }

      public static void main(String[] args) {
        String[] strs = { "Bc", "Ad", "aC", "Hello", "X man", "little", "During",
            "day" };

        sortByPOPO(strs);

      }
    }

我之所以用Arrays.sort是为何简化排序算法。既然大家没看懂我的意思,我就用最XX的冒泡算法排序算了。
其实此问题的关键在于比较算法的实现,而不在排序算法的实现。

其它的快速排序,Shell排序等,大家自己实现好了,我就不提供了。

JAVA排序算法实现代码-快速(Quick Sort)排序
JAVA排序算法实现代码-冒泡(Bubble Sort)排序
JAVA排序算法实现代码-堆(Heap)排序
JAVA排序算法实现代码-选择(Select)式排序
JAVA排序算法实现代码-二叉树排序
JAVA排序算法实现代码-希尔Shell排序
JAVA排序算法实现代码-插入排序


java 按照字母表顺序排列字符串列表 使用字符串与数组排序技术,编写一个按照字母表顺序排列字符串列表的application。允许用户在文本区中输入字符串。在文本区域中显示结果。 立即下载

相关推荐

图像去雾新思路:手把手教你复现DEA-Net中的“细节增强卷积”与PyTorch实现

本文详细解析了DEA-Net中的'细节增强卷积'(DEConv)与PyTorch实现,通过多分支差分卷积和重参数化技术,显著提升单图像去雾效果。文章从数学原理到代码实现,手把手指导复现这一创新架构,帮助开发者在保持轻量化的同时实现41dB以上的PSNR指标,适用于自动驾驶、遥感监测等关键领域。

weixin_30323631的博客 506

编写函数,对字符数组中的字母由大到小的字母顺序进行排序

编写函数,对字符数组中的字母由大到小的字母顺序进行排序

2305_78057683的博客 468

深交所 vs 上交所:Level-2实时数据推送规则详解与策略适配指南

本文深度解析沪深Level-2实时数据推送规则的关键差异,包括逐笔成交、逐笔委托和10档行情接口的处理逻辑。针对高频交易策略,详细对比上交所与深交所在数据推送机制、时间戳处理及委托队列解析等方面的差异,并提供具体的策略适配方案和性能优化建议,帮助量化投资者提升跨市场交易稳定性。

weixin_27310417的博客 1170

字符串按照字母表顺序排序

private static String sortString2(String string){ char[] str=string.toCharArray(); int n = string.length(); boolean flag = false; for(int i=0;i< n - 1;i++) { ...

sinat_27143551的博客 4899

AD5700 HART芯片实战笔记:从时钟检测到数据收发,一个STM32工程师的踩坑实录

本文详细记录了STM32工程师在AD5700 HART芯片开发中的实战经验,涵盖时钟信号检测、RTS切换时序优化及HART数据解析等关键问题。通过硬件设计检查、定时器配置优化和大小端转换方案对比,解决了工业级芯片开发中的典型挑战,为嵌入式开发者提供宝贵参考。

weixin_42715608的博客 164

UE5.3像素流送Docker化部署:从Linux服务器搭建到云端实时渲染

本文详细介绍了在Linux服务器上使用Docker容器化部署UE5.3像素流送服务的完整流程。通过将虚幻引擎运行时、信令服务器和TURN服务打包为标准化镜像,利用Docker Compose进行编排,实现了云端实时渲染应用的快速部署、环境一致与弹性扩展,有效解决了传统部署中的环境依赖与运维难题。

k0l1m2n3o的博客 200

Java中按字母顺序对字符串字符进行排序的4种不同方法

介绍 : 有时我们需要按字母顺序对字符串中的所有字符进行排序。由于String在Java中是不可变的,因此它将创建一个不同的字符串变量。例如,字符串“ albert ”在排序后将变为“ abelrt”。在这个Java示例中,我们将学习如何以不同的方式按字母顺序对字符串的字符进行排序。 让我们来看看 : 使用循环: 任何排序的基本方法是使用循环。我们将使用两个for循环,并且两者都将在另一个内部运行。外循环将从字符串的左侧开始一个接一个的选择,内循环将其与字符串左侧的所有其他元素进行比较。如果发现内循环较小的

allway2的博客 1万+

基于 MATLAB 的 FastICA 算法实现语音信号盲分离

FastICA 算法通过最大化信号的非高斯性,找到独立成分,从而实现信号的分离。这些混合的信号被称为盲源信号,我们希望通过分析混合信号,将它们分离出来以便进行进一步的处理和分析。FastICA 是一种常用的盲源信号分离算法,它基于统计学原理,通过寻找独立成分来实现信号的分离。FastICA(独立成分分析)是一种常用的盲源信号分离算法,在语音和图像处理领域都有广泛的应用。本文将介绍如何使用 MATLAB 实现 FastICA 算法来实现语音信号的盲分离,并提供相应的源代码。FastICA 算法原理。

学习使你进步。 2025

面试题题排序,字符串数组按照字母排序,不区分大小写比较

面试题题排序,字符串数组按照字母排序,不区分大小写比较 对字符串进行排序,用任意一种编程语言来实现,不能使用现有的类,在排序中,字符串“Bc”,“Ad”,“aC”,“Hello”,“X man”,“little”,“During”,“day”能够排序成 “Ad”,”aC”,“Bc”,“During”,“day”,“Hello”,“little”,“Hello”,也就是说,在排序的过程并不是传统

手把手教你学安卓 8755

SAPGUI 与 ADT 的时代分野:在多云架构下,谁还能代表现代 SAP 开发

摘要(149字) SAP开发工具正经历代际更迭:SAPGUI基于专有协议(NI/DIAG)的厚客户端架构难以适配多云环境,而ADT(ABAP Development Tools)通过HTTP(S)协议和Eclipse生态成为ABAP Cloud/RAP开发的唯一入口。关键差异体现在:ADT支持CDS、行为定义等云原生对象建模,天然对齐BTP的零信任网络;集成ATC、Git等DevOps工具链;而SAPGUI无法创建RAP核心对象,在跨平台、自动化方面存在硬限制。官方文档明确将ADT作为Clean Core战

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 392

tsfknn 预测R语言中的时间序列

rolling参数应该设置为FALSE,这使得最后的18个观测值成为测试集,其余的作为训练集;如果我们将rolling参数设置为默认值TRUE,那么测试集就不会是一个恒定的向量。lag 滞后参数表示时间序列数据的滞后值。在这个例子中,由于我们的时间序列数据是月度的,我们将参数设置为1:12。作为药品福利计划的一部分,澳大利亚健康保险委员会记录的属于ATC代码A10的产品的每月政府支出(百万美元)。我们将使用tsfknn包,它可以用来预测R语言中的时间序列。格式:ts类别的月度时间序列。

Mrrunsen的博客 325

40、字符串排序(将字符串中字符按照字母表的顺序排序)。

40、字符串排序程序分析代码实现 程序分析 解题思路: 1、输入字符串; 2、字符串转换为字符数组; 3、字符数组进行排序; 4、输出排序后的字符串。 代码实现 import java.util.Scanner; import static java.util.Arrays.sort; public class Test { public static void main(String[] args) { /* 题目:字符串排序。 解题思路:

Bennettgxd的博客 3063

智能生活中枢:基于 ESP32-S3 的桌面智能助手与日程提醒终端设计与实现

本文完成了基于 ESP32-S3 的桌面智能助手与日程提醒终端的完整设计,实现了时间同步、日程管理、声光提醒、环境监测、本地存储等核心功能。硬件接线简洁、软件逻辑清晰,可直接制作成品使用。硬件方案:以 ESP32-S3 为核心,搭配 OLED、DS3231、DHT11、按键、声光模块,接线标准化、易复刻;软件方案:基于 Arduino 开发,提供标准 Mermaid 软件流程图,代码模块化、可直接编译运行;核心功能:网络授时、本地日程管理、掉电存储、声光提醒、温湿度监测,满足桌面智能助手全场景需求。

weixin_42300449的博客 210

java字符串切割_微软常见面试题之数组和字符串

作为码农,很多人都需要刷题。我在leetcode上面,发现了微软专辑系列。leetcode列出了微软比较常见的面试题,分了八块内容。分别是数组和字符串,链表,树和图,回溯,排序和搜索,动态规划,设计和其他。今天,说点简单的。说说在数组和字符串里面,微软常见的面试题。leetcode列出了十几道。我抽三道比较简单的leetcode的题目来讲解。第一道,Reverse StringWrite a fu...

weixin_39601642的博客 107

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

java字符串切割_微软常见面试题之数组和字符串类

此篇文章来自我的公众号,实思。查看更多内容,请关注公众号。文章底部有二维码。作为码农,很多人都需要刷题。我在leetcode上面,发现了微软专辑系列。leetcode列出了微软比较常见的面试题,分了八块内容。分别是数组和字符串,链表,树和图,回溯,排序和搜索,动态规划,设计和其他。今天,说点简单的。说说在数组和字符串里面,微软常见的面试题。leetcode列出了十几道。我抽三道比较简单的leetc...

weixin_39804629的博客 105

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

微软面试题(转载)

微软十五道面试题1、有一个整数数组,请求出两两之差绝对值最小的值,记住,只要得出最小值即可,不需要求出是哪两个数。2、写一个函数,检查字符是否是整数,如果是,返回其整数值。(或者:怎样只用4行代码编写出一个从字符串到长整形的函数?)3、给出一个函数来输出一个字符串的所有排列。4、请编写实现malloc()内存分配函数功能一样的代码。 给出一个函数来复制两个字符串A和B。

神叹的专栏 582

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

微软、Google、百度、腾讯等名企经典面试题

给大家整理了微软、Google、百度、腾讯这些企业比较常考察的面试题,大家可以尝试自己去解解,如果没有解出来再在网上搜索下,看看这些题的思路。

大厂小码农的博客 640

微软、google、雅虎、百度等各大著名公司的经典面试题!保证搞晕你!!

微软十五道面试题 1、有一个整数数组,请求出两两之差绝对值最小的值, 记住,只要得出最小值即可,不需要求出是哪两个数。 2、写一个函数,检查字符是否是整数,如果是,返回其整数值。 (或者:怎样只用4行代码编写出一个从字符串到长整形的函数?) 3、给出一个函数来输出一个字符串的所有排列。 4、请编写实现malloc()内存分配函数功能一样的代码。  给出一个函数来复制两

leo115的专栏 3031

[分类整理IV]微软等100题系列V0.1版:字符串+数组面试题集锦

微软等100题系列V1.0版整理I:字符串+数组面试题集锦 July   2010年12月30日第4章 字符串+数组面试题在微软等100题系列V0.1版中,此类字符串+数组的问题,占了足足22道。可见 字符串+数组等基础问题之重要性。接下来的俩天,我会加快分类整理完100题系列V0.1版,然后加紧整理完网友的答案回复,最后,我挑选其中最为经典的几道题,直接在博客上贴出源码、答案。为了迎接在2011年元旦之际,微软等数据结构+算法面试100题系列V0.2版的出炉。请继续保持关注。谢谢。:D。July、十二月三

结构之法 算法之道 1万+

经典面试题(二)附答案 算法+数据结构+代码 微软Microsoft、谷歌Google、百度、腾讯

1.正整数序列Q中的每个元素都至少能被正整数a和b中的一个整除,现给定a和b,需要计算出Q中的前几项, 例如,当a=3,b=5,N=6时,序列为3,5,6,9,10,12 (1)、设计一个函数void generate(int a,int b,int N ,int * Q)计

sj13051180的专栏 1万+

微软、google、雅虎、百度等各大著名公司的经典面试题

微软十五道面试题 1、有一个整数数组,请求出两两之差绝对值最小的值, 记住,只要得出最小值即可,不需要求出是哪两个数。 2、写一个函数,检查字符是否是整数,如果是,返回其整数值。 (或者:怎样只用4行代码编写出一个从字符串到长整形的函数?) 3、给出一个函数来输出一个字符串的所有排列。 4、请编写实现malloc()内存分配函数功能一样的代码。  给出一个函数来复制两

zhangmuyan的专栏 1925

面试题系列(1)

http://blog.youkuaiyun.com/v_JULY_v/article/details/6234496 微软十五道面试题 1、有一个整数数组,请求出两两之差绝对值最小的值, 记住,只要得出最小值即可,不需要求出是哪两个数。 2、写一个函数,检查字符是否是整数,

628

全新整理:微软、谷歌、百度等公司经典面试100题[第1-60题]

微软十五道面试题1、有一个整数数组,请求出两两之差绝对值最小的值,记住,只要得出最小值即可,不需要求出是哪两个数。2、写一个函数,检查字符是否是整数,如果是,返回其整数值。(或者:怎样只用4行代码编写出一个从字符串到长整形的函数?)3、给出一个函数来输出一个字符串的所有排列。4、请编写实现malloc()内存分配函数功能一样的代码。 给出一个函数来复制两个字符串A和B。

kuno321的专栏 3913

分类整理IV 微软等100题系列V0 1版 字符串+数组面试题集锦

分类整理IV 微软等100题系列V0 1版 字符串+数组面试题集锦

gdfyug的博客 211
上一篇: 【持枪证】和【持抢证】的区别 - 错别字害死人啊
下一篇: JavaFX千呼万唤始出来
老紫竹
博客等级 码龄19年 1万+粉丝 1252原创
评论 11
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值