給定一個字串,去重(重複的字元只保留第一次出現的)
原始碼(c++):
#include <iostream> #include <string> using namespace std; int main(){ string str; cin>>str; int a[256]={0, 0}; int strLen = str.size(); for(int i=0; i<strLen; ++i){ a[str[i]]++; } int i, j; i=j=0; for(int i=0; i<strLen; ++i){ if(a[str[i]]>=0){ a[str[i]] = -1; swap(str[i], str[j]); j++; } } str = str.substr(0, j); cout<<str<<endl; return 0; }
輸出:
相關推薦
給定一個字串,去重(重複的字元只保留第一次出現的)
原始碼(c++): #include <iostream> #include <string> using namespace std; int main(){ string str; cin>>str; int
給定一個字串,找出不含有重複字元的最長子串的長度。 示例: 給定 "abcabcbb" ,沒有重複字元的最長子串是 "abc" ,那麼長度就是3。 給定 "bbbbb" ,最長的子串就是 "b
Str = raw_input('plese input Str:') def qiu_chongfu(Str2):#定義判斷字串是否含有重複字元,如有返回0,沒有返回1 biao = 0 for i in range(0,len(Str2)): for j in
給定一個字串,找出不含有重複字元的最長子串的長度。
題目描述: 給定一個字串,找出不含有重複字元的最長子串的長度。 思路1: 依排列組合的所有可能拿到所有子串,依次傳入重複子穿的判斷方法中進行判斷,每次更新出不重複子串的最大長度! 具體程式碼: 1 import java.util.Scanner; 2 3 pu
給定一個字串,找到最長子串的長度,而不重複字元。
思路:就是用set存資料,之後兩個指標i,j。其中i不斷向後遍歷,set中不斷新增i++的元素,當set遇到重複元素,則j向後移動一位,同時刪除j所在位置的的元素,並且比較此時長度 class Solution { public int lengthOfLongestS
前端演算法:給定一個字串,找到它中的第一個非重複字元並返回它的索引
給定一個字串,找到它中的第一個非重複字元並返回它的索引。如果它不存在,則返回-1。 例子: s =‘leetcode’ 返回0。 s =‘loveleetcode’ 返回2。 注意:您可以假設該字串僅包含小寫字母。 <script> var
給定一個字串,求出其最長的重複子串的長度
題目來源:這是程式設計珠璣上的一道題目 概念 字串的字首和字尾 例如字串 s =“abcdeabc” 則s的字首: “a”,“ab”,“abc”,“abcd”,“abcde”,“abcdea”,“abcdeab”,“abcdeabc”其中除了s
LeetCode 3. Longest Substring Without Repeating Characters 給定一個字串,找到它的沒有重複字元的最大子串
Given a string, find the length of the longest substring without repeating characters. Examples: Given "abcabcbb", the answer is "abc",
給定一個字串,找到最長的子串的長度沒有重複字元
題目來自leetcode 思路:基本的想法是,讓一個HashMap儲存字元的字串作為鍵及其位置的值,並保持兩個指標定義的最大子串。移動右邊的指標掃描字串,同時更新HashMap。如果角色已經在HashMap,然後將左手指向右上發現相同的字元。注意,這兩個指標只能向前移動。
給定一個字串,求出其最長的重複子串
題目:給定一個字串,求出其最長的重複子串 如字串abcdabcabcd,求的最長重複子串為abcd 程式碼: void LongChar(char* str) { if(str==NULL) return; int max=0; &
【每日面試題】給定一個字串,求出其最長的重複子串
題目:給定一個字串,求出其最長的重複子串 如字串abcdabcabcd,求的最長重複子串為abcd 程式碼: void LongChar(char* str) { if(str==NULL) return; int max=0; int first=0; int
給定一個字串,找出其所有不重複的排列組合
給一個字串,比如ABC, 把所有的排列,即:ABC, ACB, BAC, BCA, CAB, CBC 都找出來。 解題思路: 對於一個n 位的字串來講,它是n-1位字串的排列 加上 沒有在 n -1 位字串裡 那個字元 的排列。 比如: 對於字串ABC來講,它所有
給Array實現一個方法,去重後返回重複的字元
程式碼如下: let arr = [1, 6, 8, 3, 7, 9, 2, 7, 2, 4, 4, 3, 3, 1, 5, 3] Array.prototype.removeDuplication
LeetCode 第3題:給定一個字串,找出不含有重複字元的最長子串的長度。
public class LeetCode3 { public static void main(String[] args) { /** * LeetCode第3題: * 給定一個字串,找出不含有重複字元的最
給定一個字串,找出不含有重複字元的最長子串的長度(javascript)
var lengthOfLongestSubstring = function(s){ var str = '';//存放當前最大無重複項字串 var len = 0;//存放當前當前最大無重複項字串長度 for(var i=0;i<s.length;
給定一個字串,判斷它是否迴文,只考慮數字字母字元並忽略大小寫。
題幹: Given a string, determine if it is a palindrome, considering only alphanumeric characters and ignoring cases. 給定一個字串,判斷它是否迴文,只
給定一個字串,刪除字串中所有的b和ac組合, 要求:字串只遍歷一次,且不能使用額外的空間
string = 'aaascsscc' ls = list(string) def isA(ls): i = 0 while i < len(ls): if ls[i] == 'b': ls.pop(i) if i &g
Java8 list根據一個欄位去重(記錄)
list = list.stream().collect( Collectors.collectingAndThen( Collectors.toCollection(() -> new TreeSet&l
給定一個字串,在字串中找到第一個連續出現至少k次的字元。
#include<stdio.h> #include<string.h> int main() {int i,n,k,l=0; char a[80]; scanf("%d",&n); fflush(stdin); gets(a); k=strlen(a);
給定一個字串,逐個翻轉字串中的每個單詞。
LintCode中的反轉字串,自己寫的不對 參考答案寫出的 思路: 先將整個陣列反轉,然後根據空格出現的位置,判斷每個單詞,再將整個單詞反轉 這裡每個單詞的位置是 index - i-1 但是由於不能保證最後一個單詞後面還有空格,所以最後一個要單獨反轉 public
給定一個字串,你需要顛倒每個單詞中的字元順序,同時仍然保留空白和初始的字順序。
本題源自leetcode 557 -------------------------------------------------- 思路 將每個單詞反轉,遇見空格就跳過。 程式碼: string reverseWords(string s) { i