【小米笔试题】实现一个算法,确定一个字符串的所有字符是否全部不同
实现一个算法,确定一个字符串的所有字符是否全部不同。
下面给出3种可行方法,都经过测试。(其中方法一,刚开始理解有些困难,需要多思考一下)
package XiaoMi;import java.util.Arrays;public class test11 {/*** @param args*/public static void main(String[] args) {// TODO Auto-generated method stubString str = "eabcadf";System.out.println(isUniqueChars(str));}/** // 方法一:位记录 public static boolean isUniqueChars(String str) { if* (str.length() > 26) return false;* * int checker = 0; for (int i = 0; i < str.length(); i++) { int val =* str.charAt(i) - 'a'; if (((checker & (1 << val)) > 0)) { return false; }* checker |= (1 << val); } return true; }*//*// 方法二:排序后比较邻近位public static boolean isUniqueChars(String str) {if (str.length() > 26)return false;// int checker = 0;char[] cha = new char[str.length()];for (int i = 0; i < str.length(); i++) {cha[i] = str.charAt(i);}Arrays.sort(cha); // 数组排序方法for (int i = 0; i < cha.length - 1; i++) {if (cha[i] == cha[i + 1]) {return false;}}return true;}*/// 方法三:数组记录public static boolean isUniqueChars(String str) {if (str.length() > 256)return false;boolean[] cha =new boolean[256];for (int i = 0; i < str.length(); i++) {int val =str.charAt(i); //val值作为数组索引,数组内存放真值。if (cha[val]) {return false;}cha[val] =true;}return true;}
}
【小米笔试题】实现一个算法,确定一个字符串的所有字符是否全部不同相关推荐
- 回文指的是一个字符串从前面读和从后面读都一样,编写一个算法判断一个字符串是否为回文。
回文指的是一个字符串从前面读和从后面读都一样,编写一个算法判断一个字符串是否为回文. 要求: 1)采用链栈实现算法: 2)从键盘输入一个字符串,输出判断结果. 算法思路: 根据栈的后进先出的特点,编写 ...
- 经典笔试题:用C写一个函数测试当前机器大小端模式
"用C语言写一个函数测试当前机器的大小端模式"是一个经典的笔试题,如下使用两种方式进行解答: 1. 用union来测试机器的大小端 1 #include <stdio.h&g ...
- 「笔试题」最近做了一个招银网络科技Java岗位在线笔试题,给有需要的朋友了解学习一下!
编程题一 大概意思是,给一段字符串,然后统计该字符串中相同字符个数,并以字符串+该字符串个数组合排列成新的字符串.如输入" sssdhibdhidhi " ,需要返回结果 &quo ...
- 【小米笔试题】二分查找算法的变形
一个有序数组的元素经过循环移动,元素的顺序可能变为"3 4 5 6 7 1 2".怎样才能找出数组中最小的那个元素?假设数组中的元素各不相同. 方法一:(暴力遍历)时间复杂度o(n ...
- python笔试题奥特曼打怪兽_一个python面试笔试题
init 和 new 的作用和返回值?详细描述一下类的创建过程?如何捕获类的属性定义顺序? __new__在创建实例对象的时候调用,返回实例对象的内存地址,传递给__init__方法,就是self的值 ...
- python笔试题-平衡点问题: 假如一个数组中的元素,其前面的部分等于后面的部分,那么这个点的位序就是平衡点。
平衡点问题 假如一个数组中的元素,其前面的部分等于后面的部分,那么这个点的位序就是平衡点. 比如一个列表numbers = [1, 3, 5, 7, 8, 25, 4, 20].25前面的总和为24, ...
- 【小米笔试题】朋友圈问题-并查集解法
2016年小米校招笔试第三题(西安站) 3 假如已知有n个人和m对好友关系(存于数字r).如果两个人是直接或间接的好友(好友的好友的好友...),则认为他们属于同一个朋友圈,请写程序求出这n个人里一共 ...
- 并查集——小米笔试题求朋友圈个数,分小组个数
先给出小米的题: 已知有n个人和m对好友关系(存于数组r).如果两个人是直接或间接的好友(好友的好友的好友-),则认为他们属于同一个朋友圈,请写程序求出这n个人里一共有多少个朋友圈. 假如:n = 5 ...
- 小米笔试题 依据父子关系建树
问题描述: 现在有一棵合法的二叉树,树的节点都是用数字表示,现在给定这棵树上所有的父子关系,求这棵树的高度 输入描述: 输入的第一行表示节点的个数n(1 ≤ n ≤ 1000,节点的编号为0到n- ...
最新文章
- probit概率单位回归分析
- 使用 uiautomator2
- Windows7_x64下编译64位ffmpeg
- 修改linux swap空间的swappiness,降低对硬盘的缓存
- Markdown中数学公式练习(2)
- 2018中国C++大会精彩回顾
- 推荐一款高引超6000次的全基因组/全外显子组变异注释工具
- 数据库SQL语言类型(DQL.DML.DDL.DCL)
- 【Flink】RuntimeException: Row arity of from does not match serializers
- Swift 中函数使用指南
- java 线程 interrupted_Java:当被另一个线程中断时,如何在线程上捕获InterruptedException?...
- matlab实验 信号处理,数字信号处理MATLAB实现与实验
- 交换机在局域网内的日常工作
- php安装时候的源是什么,Windows安装源无效怎么办
- 利用Chrome翻译搞定大部分英文文件翻译的工作流
- 屏蔽CSDN博客广告的油猴脚本
- (转载)SoftIce的安装、配置以及一些基本操作
- vim 编辑时E45: ‘readonly‘ option is set (add ! to override)
- 简单实用计划提醒便签软件 界面简洁功能一目了然
- 渗透中超全的Google hack语法