以后坚持每一个星期都写记到算法题,不论简单还是难,纯熟娱乐!

描写叙述:

实现一个算法来推断一个字符串中的字符是否唯一(即没有反复).不能使用额外的数据结构。

(即仅仅使用主要的数据结构)

代码:

#include <iostream>
#include <algorithm>
#include <string>
#include <assert.h> bool isUnique(const std::string& vStr)
{
if (vStr.size() == 0) return true;
bool Hash[128];
std::fill(Hash, Hash+128, false); for (unsigned int i=0; i<vStr.size(); ++i)
{
int Temp = vStr[i];
if (Hash[Temp]) return false;
Hash[Temp] = true;
} return true;
} bool isUnique2(const std::string& vStr)
{
if (vStr.size() == 0) return true;
int Bucket[4] = {0, 0, 0, 0}; for (unsigned int i=0; i<vStr.size(); ++i)
{
int Temp = vStr[i];
int Num = Temp/32;
int Mod = Temp%32; if (Bucket[Num] & (1<<Mod)) return false;
Bucket[Num] |= (1<<Mod);
} return true;
} int main()
{
std::string Test = "128&";
std::cout << isUnique2(Test) << std::endl;
_ASSERT(isUnique(Test) && isUnique2(Test)); system("pause");
return 0;
}

參考:http://hawstein.com/posts/1.1.html

001 unique string的更多相关文章

  1. LeetCode828. Unique Letter String

    https://leetcode.com/problems/unique-letter-string/description/ A character is unique in string S if ...

  2. WHY IE AGAIN? - string.charAt(x) or string[x]?

    近期今天在写一个"删除字符串中反复字符串"的函数,代码例如以下: 开门见山,重点 string.charAt(index) 取代 string[index] function re ...

  3. 一个简单的string类,读书看报系列(一)

    对于这个类,写过程序的都知道应该含有的方法是 初始化.销毁.拼接.求长度.清除.判断是否为空等.还有一些操作符重载 一.先看初始化: 可以想到应该有默认构造的的.带有字符串的.带有默认字符的.还有一个 ...

  4. Android Unique Device ID

    There are several occasions when the unique identifier of a device is required. For instance you nee ...

  5. linux下的usb抓包方法【转】

    转自:http://blog.chinaunix.net/uid-11848011-id-4508834.html 1.配置内核使能usb monitor: make menuconfig       ...

  6. java 面试大全

    一.CoreJava 部分: 基础及语法部分: 1.面向对象的特征有哪些方面? [基础] 答:面向对象的特征主要有以下几个方面: 1)抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地 ...

  7. 【转载】linux下的usb抓包方法

    1 linux下的usb抓包方法 1.配置内核使能usb monitor: make menuconfig                   Device Drivers -->        ...

  8. linux下的usb抓包方法

    1 linux下的usb抓包方法1.配置内核使能usb monitor: make menuconfig                   Device Drivers -->        ...

  9. Python(五)模块

    本章内容: 模块介绍 time & datetime random os sys json & picle hashlib XML requests ConfigParser logg ...

随机推荐

  1. WPF入门教程系列二

    WPF控件和布局 一.  前言  公司项目基于WPF开发,最近项目上线有点空闲时间写一篇基于wpf的基础教材,WPF也是近期才接触,学习WPF也是在网上查资料与微软的MSDN进行学习,写本博客的目为了 ...

  2. [ElasticSearch] 空间搜索 (一)

    依据索引文档的地理坐标来进行搜索.Elasticsearch 也可以处理这种搜索.--空间搜索 一.为空间搜索准备映射 PUT my_space_test { "mappings" ...

  3. Python内置函数之open()

    open(file, mode=, encoding=None, errors=None, newline=None, closefd=True, opener=None) 打开一个文件,返回一个对应 ...

  4. python简单C/S模式示例

    服务器端代码: #!/usr/bin/python import time, socket, threading # thread handle function def tcplink(sock, ...

  5. response.addCookie(cookie),添加失败

    问题:添加cookie到浏览器如下,在浏览器f12查看请求过程,发现cookie中只添加了:JSESSIONID E849DAFEE4A36B6D955F9D96D6D06207 却没有想要的“use ...

  6. mock实例方法

    1.Mockito.when(categoryService.queryTopCategory("1")).thenReturn(categories);//返回的是list列表, ...

  7. 做前端(单纯页面和js)遇到的问题辑录(一)

    html标签的name和id的值一样,jQuery在选择的时候会混乱么? 1.超链接<a href="http://www.jb51.net" title="脚本之 ...

  8. FD_CLOEXEC用法及原因_转

    转自:使用FD_CLOEXEC实现close-on-exec,关闭子进程无用文件描述符 我们经常会碰到需要fork子进程的情况,而且子进程很可能会继续exec新的程序.这就不得不提到子进程中无用文件描 ...

  9. 一个简单的servlet容器

    [0]README 0.1)本文部分文字转自 “深入剖析Tomcat”,旨在学习  一个简单的servlet容器  的基础知识: 0.2)for complete source code, pleas ...

  10. (转载)Unity中解析ini配置文件----INIParser

    大家好,我是孙广东.   转载请注明出处:http://blog.csdn.net/u010019717 更全的内容请看我的游戏蛮牛地址:http://www.unitymanual.com/spac ...