[華為OJ--C++]088-按位元組擷取字串
題目描述:編寫一個擷取字串的函式,輸入為一個字串和位元組數,輸出為按位元組擷取的字串。但是要保證漢字不被截半個,如"我ABC"4,應該截為"我AB",輸入"我ABC漢DEF"6,應該輸出為"我ABC"而不是"我ABC+漢的半個"。
輸入描述:輸入待擷取的字串及長度
輸出描述:擷取後的字串
輸入例子:
輸出例子:我ABC漢DEF
6
演算法實現:我ABC
#include <iostream> #include <string> using namespace std; /************************************************ * Author: 趙志乾 * Date: 2017-2-16 * Declaration: All Rigths Reserved !!! ***********************************************/ int main() { string instr; int len; cin>>instr; cin>>len; int i=0;int j=0;int odd=0; for( ;j<len;j++) { if(instr[j]<0) odd++; if(odd%2==0) i=j; } string ret(i+1,0); for(int k=0;k<i+1;k++) ret[k]=instr[k]; cout<<ret<<endl; return 0; }
關鍵點:一個漢字的ascill標準儲存時佔用兩個字元,且所佔用的每個位元組的ascill編碼的最高位為1,也即是小於0。用這個特性來檢測一個位元組是否屬於漢字。
執行結果展示:
相關推薦
[華為OJ--C++]088-按位元組擷取字串
題目描述:編寫一個擷取字串的函式,輸入為一個字串和位元組數,輸出為按位元組擷取的字串。但是要保證漢字不被截半個,如"我ABC"4,應該截為"我AB",輸入"我ABC漢DEF"6,應該輸出為"我ABC"
【華為機試108題】按位元組擷取字串
題目描述 編寫一個擷取字串的函式,輸入為一個字串和位元組數,輸出為按位元組擷取的字串。但是要保證漢字不被截半個,如”我ABC”4,應該截為”我AB”,輸入”我ABC漢DEF”6,應該輸出為”我ABC”
php中按位元組擷取字串方法,(漢字佔兩個位元組,字母佔一個位元組,頁面編碼必須為utf-8)
function esub($str, $length = 0) { if($length < 1){ return $str; } //計算字串長度 $strlen = (strlen($str) + mb_str
java按位元組擷取字串
首先分編碼格式,gbk和gb2312公用一套方案,,而u8是另一套。 為什麼呢,因為gbk和gb2312是兩個位元組表示一個漢字,前者兩個位元組的值都是負數,後者第二個數有時為正,比如(琲bei) 那u8呢,是三個位元組表示一個漢字,所以判斷條件比gbk多了一點。
Java 按位元組擷取字串
public class MyTest1 { @Test public void test() { String s = "112我似そして懂12非懂2"; s = "てそしてててて
如何實現按位元組擷取字串(中文佔2位元組,英文佔1位元組,substring())?
str = "我a智慧abc" substring(str, 5) 會擷取成為 “我a智慧a” 現在要實現中文佔2位元組,英文佔1位元組,按位元組擷取 ,輸出應該為"我a智" public class SubString{ /** * */ public
華為OJ之N皇后問題(C++程式碼)
1問題描述 N皇后問題,就是如何將國際象棋中的N個皇后放在N*N的棋盤上而不會互相攻擊,是一種通過列舉,再遞迴、回溯的思想。 2思路 以8皇后問題為例,可知在8*8二維陣列中,每個點用data[i][j]表示(0 <= i,j <= 7)。
【每天演算法4】編寫一個擷取字串的函式,輸入為一個字串和位元組數,輸出為按位元組擷取的字串。
題目: 編寫一個擷取字串的函式,輸入為一個字串和位元組數,輸出為按位元組擷取的字串。 但是要保證漢字不被截半個,如“我ABC”4,應該截為“我AB”,輸入“我ABC漢DEF”,6,應該輸出為“我ABC”而不是“我ABC+漢的半個”。 package com.sw.su
編寫一個擷取字串的函式,輸入為一個字串和位元組數, 輸出為按位元組擷取的字串。 但是要保證漢字不被截半個。
題目: 編寫一個擷取字串的函式,輸入為一個字串和位元組數, 輸出為按位元組擷取的字串。 但是要保證漢字不被截半個,如“我ABC”4, 應該截為“我AB”,輸入“我ABC漢DEF”,6, 應該輸
華為OJ-數字顛倒-C語言實現/Java實現
數字顛倒 題目描述 描述: 輸入一個整數,將這個整數以字串的形式逆序輸出 程式不考慮負數的情況,若數字含有0,則逆序形式也含有0,如輸入為100,則輸出為001 輸入描述: 輸入
華為OJ:數字顛倒
ring pan mod ber ack art ava scan end 將數字轉成一個字符串即可了。 import java.util.Scanner; public class convertNumber { public static void main(St
華為OJ 名字美麗度
list tty res mod set 範圍 重載 物聯網 實例 這是一道坑爹的題目,為什麽這麽說,且看我慢慢分析…… 題目例如以下: 給出一個名字,該名字有26個字符串組成,定義這個字符串的“美麗度”是其全部字母“美麗度”的總和。 每一個字母都
華為手機WebView長按不能複製,記一次少見奇葩bug解決之旅
風起 接到反饋,說是之前一個老專案的詳情頁(html)長按不能複製了(華為mate9),uh…不記得需求裡有長按複製功能,不過現在原生webview是支援長按複製的,所以就是個預設需求了,那這個bug是要改的。 拿手邊的華為和小米試了一下,的確不能複製,然後到模擬器上跑了下,uh…長
華為筆試——C++字串四則運算的實現--C++ 遞迴實現
華為筆試——C++字串四則運算的實現 題目:字串四則運算的實現 有字串表示的一個四則運算表示式,要求計算出該表示式的正確數值。四則運算即:加減乘除"+-*/",另外該表示式中的數字只能是1位(數值範圍0~9),運算不用括號。另若有不能整除的情況,按向下取整處理,eg: 8/3得出值為2。
尋找01矩陣中的最大子矩陣--華為OJ機試--java語言版
題目描述: 在一個M * N的矩陣中,所有的元素只有0和1,從這個矩陣中找出一個面積最大的全1子矩陣,所謂最大是指元素1的個數最多。 輸入: 輸入可能包含多個測試樣例。 對於每個測試案例,輸入的第一行
華為oj素數伴侶
題目描述若兩個正整數的和為素數,則這兩個正整數稱之為“素數伴侶”,如2和5、6和13,它們能應用於通訊加密。現在密碼學會請你設計一個程式,從已有的N(N為偶數)個正整數中挑選出若干對組成“素數伴侶”,挑選方案多種多樣,例如有4個正整數:2,5,6,13,如果將5和6分為一組
華為oj【IP地址判斷有效性】
#include <iostream> #include <cstring> #include<string> using namespace std; bool isIPAddressValid(const char* pszIPAddr) { if(pszIPA
【華為oj】超長正整數想加
問題描述:請設計一個演算法完成兩個超長正整數的加法。 介面說明 /* 請設計一個演算法完成兩個超長正整數的加法。 輸入引數: String addend:加數 String augend:被
字串反轉——來自華為OJ平臺測試基礎篇
/* * 字串反轉 * 與字元逆序一樣,是同一個程式 * 描述: 寫出一個程式,接受一個字串,然後輸出該字串反轉後的字串。例如: * 知識點: 陣列,指標 * 題目來源: 內部整理 * 練習階段: 初級 * 執行時間限制: 10Se
華為oj 公共字串計算
此題是經典的動態規劃的題:設c[i][j] 表示第一個字串從開始到 i 的位置,和第二個字串從開始到 j 的位置的最長公共字串的長度,那麼我們可以根據題目得知一下條件 1.如果pFirstStr[i+1]==pSecondStr[j+1],那麼c[i+1][j+1]=c[