求推倒与反推倒等差数列所有公式大全百度云资源

新手园地& & & 硬件问题Linux系统管理Linux网络问题Linux环境编程Linux桌面系统国产LinuxBSD& & & BSD文档中心AIX& & & 新手入门& & & AIX文档中心& & & 资源下载& & & Power高级应用& & & IBM存储AS400Solaris& & & Solaris文档中心HP-UX& & & HP文档中心SCO UNIX& & & SCO文档中心互操作专区IRIXTru64 UNIXMac OS X门户网站运维集群和高可用服务器应用监控和防护虚拟化技术架构设计行业应用和管理服务器及硬件技术& & & 服务器资源下载云计算& & & 云计算文档中心& & & 云计算业界& & & 云计算资源下载存储备份& & & 存储文档中心& & & 存储业界& & & 存储资源下载& & & Symantec技术交流区安全技术网络技术& & & 网络技术文档中心C/C++& & & GUI编程& & & Functional编程内核源码& & & 内核问题移动开发& & & 移动开发技术资料ShellPerlJava& & & Java文档中心PHP& & & php文档中心Python& & & Python文档中心RubyCPU与编译器嵌入式开发驱动开发Web开发VoIP开发技术MySQL& & & MySQL文档中心SybaseOraclePostgreSQLDB2Informix数据仓库与数据挖掘NoSQL技术IT业界新闻与评论IT职业生涯& & & 猎头招聘IT图书与评论& & & CU技术图书大系& & & Linux书友会二手交易下载共享Linux文档专区IT培训与认证& & & 培训交流& & & 认证培训清茶斋投资理财运动地带快乐数码摄影& & & 摄影器材& & & 摄影比赛专区IT爱车族旅游天下站务交流版主会议室博客SNS站务交流区CU活动专区& & & Power活动专区& & & 拍卖交流区频道交流区
白手起家, 积分 41, 距离下一级还需 159 积分
论坛徽章:0
有一个数组,包含有'item0', 'item1', 'item2'三个字符串。
有一个变量,值为'item0'
请问,如何判断这个数组是否包含了这个变量?
就好比Python的in操作符:
ary = ['item0', 'item1', 'item2']
v = 'item0'
v in ary
复制代码Bash里面要如何实现呢?我不想使用for循环一个一个去判断,有没有更佳的办法。
&&nbsp|&&nbsp&&nbsp|&&nbsp&&nbsp|&&nbsp&&nbsp|&&nbsp
家境小康, 积分 1410, 距离下一级还需 590 积分
论坛徽章:0
if [[ &${ary[@]}& =~ $v ]]
稍有积蓄, 积分 391, 距离下一级还需 109 积分
论坛徽章:0
英语盲学linux
& & 这个用法能不能具体解释一下啊? 我找了很多地方都没找到 ,只找到有awk中有 str ~ /regexp/的用法,谢谢
家境小康, 积分 1410, 距离下一级还需 590 积分
论坛徽章:0
g_programming
& & 我也是第一次这样用 =~ 左面是输出数组的所有值 =~ 右面是设定变量的值 然后 看右面的值 是否在左面输出的里面 ,如果在就为真,这个好像和awk的一样吧,左面可以完全等于右面,也可以包涵右面但是不能被右面包涵
稍有积蓄, 积分 391, 距离下一级还需 109 积分
论坛徽章:0
英语盲学linux
& & 怎么需要用两个[],一般一个[]就行了的啊? 还是就是不匹配怎么写啊,你上面那种写法是匹配,谢谢
家境小康, 积分 1410, 距离下一级还需 590 积分
论坛徽章:0
g_programming
& & if ! [[ &${ary[@]}& =~ $v ]]
[]&&[[]] 是有区别的 [[]] 好像更高级一些了 具体的我也记不住了 嘿嘿 我也是菜鸟
稍有积蓄, 积分 391, 距离下一级还需 109 积分
论坛徽章:0
英语盲学linux
& & 比我高级的菜鸟 呵呵 谢了
家境小康, 积分 1410, 距离下一级还需 590 积分
论坛徽章:0
g_programming
客气 我这B网速 打开网页忒慢了 回复的慢 见谅 睡觉了晚安& &
家境小康, 积分 1492, 距离下一级还需 508 积分
论坛徽章:1
英语盲学linux
& & 思路学习了
不过这样是不是更好if echo &${a[@]}& | grep -w &$target& &&/dev/ then echo &in&; fi复制代码
丰衣足食, 积分 546, 距离下一级还需 454 积分
论坛徽章:1
英语盲学linux
& & shell中的各类括号简介:
北京皓辰网域网络信息技术有限公司. 版权所有 京ICP证:060528号 北京市公安局海淀分局网监中心备案编号:
广播电视节目制作经营许可证(京) 字第1234号
中国互联网协会会员&&联系我们:
感谢所有关心和支持过ChinaUnix的朋友们
转载本站内容请注明原作者名及出处2013年5月 总版技术专家分月排行榜第一
2016年7月 总版技术专家分月排行榜第二2016年3月 总版技术专家分月排行榜第二2015年12月 总版技术专家分月排行榜第二2014年8月 总版技术专家分月排行榜第二2014年7月 总版技术专家分月排行榜第二2013年6月 总版技术专家分月排行榜第二
2013年5月 总版技术专家分月排行榜第一
2016年7月 总版技术专家分月排行榜第二2016年3月 总版技术专家分月排行榜第二2015年12月 总版技术专家分月排行榜第二2014年8月 总版技术专家分月排行榜第二2014年7月 总版技术专家分月排行榜第二2013年6月 总版技术专家分月排行榜第二
本帖子已过去太久远了,不再提供回复功能。> 博客详情
* 实现一个算法来判断一个字符串中的字符是否唯一(即没有重复).
* 不能使用额外的数据结构。 (即只使用基本的数据结构)
* @author mingdong.cheng
public class CheckUniqueChar {
* 对于ASCII字符,我们需要256位
* 该算法的时间复杂度为O(n)
* @param s
public static boolean isUnique(String s) {
final boolean[] a = new boolean[256];
int len = s.length();
for (int i = 0; i & i++) {
int v = (int) s.charAt(i);
* 通过位运算来减少空间的使用量。
* 用每一位表征相应位置字符的出现。
* 对于ASCII字符,我们需要256位,即一个大小为8的int 数组a即可。
* 这里的关键是要把字符对应的数字,映射到正确的位上去。
* 比如字符'b'对应的 代码是98,那么我们应该将数组中的哪一位置为1呢?
* 用98除以32,得到对应数组a的下标:3。
* 98对32取模得到相应的位:2。
* 该算法的时间复杂度为O(n),需要的内存空间更小
* @param s
public static boolean isUnique2(String s) {
final int[] a = new int[8];//位运算时,256个字符需要8个整型数来表征存储位:256/32=8
int len = s.length();
for (int i = 0; i & i++) {
int v = (int) s.charAt(i);
int idx=v/32,shift=v%32;
int b=a[idx]&(1 && shift);
a[idx]|=(1 && shift);
* 如果字符集只是a-z(或是A-Z)仅26个字符,那就更好办了,用位运算只需要一个整型数即可。
* @param s
public static boolean isUnique3(String s) {
int check=0;//位运算可映射表征32位
int len = s.length();
for (int i = 0; i & i++) {
int v = (int) s.charAt(i);
int b=check&(1 && v);
check|=(1 && v);
public static void main(String[] args) {
String s1 = "i am daniel cheng.";
String s2 = "abcdefghijklmnopqrstuvwxyzABCD";
String s3 = "abcdefghijklmnopqrstuvwxyz";
String s4 = "";
System.out.println(isUnique(s1));
System.out.println(isUnique2(s2));
System.out.println(isUnique3(s3));
System.out.println(isUnique3(s4));
人打赏支持
码字总数 6495
支付宝支付
微信扫码支付
打赏金额: ¥
已支付成功
打赏金额: ¥[google面试CTCI] 1-1.判断一个字符串是否包含重复字符
【字符串与数组】
Q:Implement an algorithm to determine if a string has all unique characters What if you
can not use additional data structures?
题目:实现一个算法来判断一个字符串是否包含重复字符。如果不能使用额外数据结构,怎么做?
方法一:从头到尾取字符串中的每一个字符,并将该字符与其后的字符依次比较,一旦发现重复的字符,就返回,表示该字符串含有重复字符串。
int is_unique(char * str){
int len=strlen(str);
for(i=0;i&len-1;++i){
&for(j=i+1;j&++j){
if(str[i]==str[j])
&return 0;
方法二:如果假设字符串中的字符都是ascii字符(ascii码字符对应的数值范围为0-255),那么我们可以分配一个256字节大小的数组,并将该数组元素初始化为0。然后,遍历字符串中的字符,将字符对应的ascii码值作为数组下标,如若该数组元素为0,将其置为1;如若该数组元素为1,则说明该字符出现过,说明字符串含有重复字符。
int is_unique(char* str){
int flags[256];
memset(flags,0,256);
for(i=0;i&strlen(str);i++){
if(flags[str[i]]==1)
flags[str[i]]=1;
方法三.由于方法二中用字符数组来表示一个字符(byte)是否出现过,事实上,只需要用一个位(bit)即可表示某个字符是否出现过,可以节约存储空间,因此,我们可以用位操作来改写方法二。
int is_unique_str2(char* str){
int flags[8];//只需要8个32位的int,8*32=256位
memset(flags,0,sizeof(flags));
int len=strlen(str);
for(i=0;i&i++){
int index=(int)str[i]/32;
int shift=(int)str[i]%32;
if(flags[index] & (1&&shift))
flags[index]|=(1&&shift);2.判断是否以指定的字符串开头或结尾
本文所属图书&>&
本书基于Java SE平台,从初学者的角度出发,通过通俗易懂的语言、丰富的实例、细腻的讲解,由浅入深、循序渐进地全面介绍了Java 语言的基础知识和常用开发技术。本书讲解时多用类比、对比等写作手法,并配合大...&&
可以使用String 类中的startsWith() 方法和endsWith() 方法,分别判断一个字符串是否以指定字符串为开头或结尾。
【范例5-16 】& 判断是否以指定的字符串开头或结尾
public class& StringMethod02{
& public static void main(String[] args) {
& String str=&StringMethod02.java&;
& System.out.println(str+&是否以 String 开头:&+str.stortsWith(&String&));
& System.out.println(str+&是否以class结尾:&+str.endsWith(&class&));
程序运行结果如图5-19 所示。
您对本文章有什么意见或着疑问吗?请到您的关注和建议是我们前行的参考和动力&&
您的浏览器不支持嵌入式框架,或者当前配置为不显示嵌入式框架。

我要回帖

更多关于 等差数列所有公式大全 的文章

 

随机推荐